将两个数组中的字符串互换 c++
时间: 2024-04-29 08:23:55 浏览: 22
这里给出两种方法。
方法1:使用临时变量
```c
#include <stdio.h>
#include <string.h>
void swapStrings(char *str1[], char *str2[]) {
char *temp = *str1;
*str1 = *str2;
*str2 = temp;
}
int main() {
char *str1[] = {"Hello", "World"};
char *str2[] = {"C", "Programming"};
printf("Before swapping:\n");
printf("str1: %s %s\n", str1[0], str1[1]);
printf("str2: %s %s\n", str2[0], str2[1]);
swapStrings(str1, str2);
printf("After swapping:\n");
printf("str1: %s %s\n", str1[0], str1[1]);
printf("str2: %s %s\n", str2[0], str2[1]);
return 0;
}
```
方法2:使用指针数组
```c
#include <stdio.h>
#include <string.h>
void swapStrings(char **str1, char **str2) {
char *temp = *str1;
*str1 = *str2;
*str2 = temp;
}
int main() {
char *str1[] = {"Hello", "World"};
char *str2[] = {"C", "Programming"};
printf("Before swapping:\n");
printf("str1: %s %s\n", str1[0], str1[1]);
printf("str2: %s %s\n", str2[0], str2[1]);
swapStrings(str1, str2);
printf("After swapping:\n");
printf("str1: %s %s\n", str1[0], str1[1]);
printf("str2: %s %s\n", str2[0], str2[1]);
return 0;
}
```