编写函数switch(char *s1,char *s2)将两个数组中的数据进行交换 将两个数组首地址作为函数实参,在switch函数中用指针交换两个数组中的元素
时间: 2024-04-10 22:28:32 浏览: 61
好的,下面是一个示例的函数实现:
```c
#include <stdio.h>
void switchArrays(char *s1, char *s2) {
char temp;
while (*s1 && *s2) { // 遍历数组直到遇到字符串结束符 '\0'
temp = *s1; // 保存 s1 当前位置的值
*s1 = *s2; // 将 s2 当前位置的值赋给 s1
*s2 = temp; // 将保存的 s1 值赋给 s2
s1++; // 移动指针到下一个位置
s2++;
}
}
int main() {
char arr1[] = "Hello";
char arr2[] = "World";
printf("Before switching:\n");
printf("arr1: %s\n", arr1);
printf("arr2: %s\n", arr2);
switchArrays(arr1, arr2);
printf("\nAfter switching:\n");
printf("arr1: %s\n", arr1);
printf("arr2: %s\n", arr2);
return 0;
}
```
输出结果:
```
Before switching:
arr1: Hello
arr2: World
After switching:
arr1: World
arr2: Hello
```
在上面的代码中,我们定义了一个 `switchArrays` 函数,它接受两个字符指针 `s1` 和 `s2` 作为参数。使用一个临时变量 `temp`,通过交换指针所指向的元素实现数组内容的交换。在主函数中,我们定义了两个字符数组 `arr1` 和 `arr2`,并打印出交换前后的数组内容。最后调用 `switchArrays` 函数进行数组交换,再次打印交换后的数组内容。
阅读全文