编写子函数myswap()及调用语句,采用地址/指针方式,实现2个数组A="世界真奇妙!"与B="天鹅和野鸭子能在水里游路上走天上飞。"交换值。 提示:数组名即是地址/指针,将数组传递给子函数mysw
时间: 2024-12-11 09:42:25 浏览: 21
在C语言中,你可以通过地址传递的方式编写一个名为`myswap()`的子函数来交换两个字符数组的内容。这里是一个简单的例子:
```c
#include <stdio.h>
#include <string.h>
// 定义子函数,接受指向字符数组的指针作为参数
void myswap(char* arr1, char* arr2, int size) {
char temp;
for (int i = 0; i < size; i++) {
// 交换arr1和arr2中的元素
temp = *arr1; // 获取arr1的当前字符
*arr1++ = *arr2++; // 将arr2的字符移动到arr1,并更新指针位置
*arr2 = temp; // 将temp(原arr1的字符)放回arr2的位置
}
}
int main() {
const char* A = "世界真奇妙!";
const char* B = "天鹅和野鸭子能在水里游路上走天上飞。";
// 计算字符串长度并减一(因为字符串结束符'\0'也被视为一个字符)
int len = strlen(A) - 1;
// 调用myswap函数交换A和B的内容
myswap(A, B, len);
printf("交换后的结果:\n");
printf("%s\n", A);
printf("%s\n", B);
return 0;
}
```
在这个示例中,`myswap()`函数接收两个字符串的首地址以及它们的长度,然后通过逐个元素地交换来完成数组内容的交换。
阅读全文