用c语言和指针交换输入的两个字符串
时间: 2024-05-01 14:17:10 浏览: 92
以下是用C语言和指针交换输入的两个字符串的示例代码:
```c
#include <stdio.h>
void swap(char **str1, char **str2) {
char *tmp = *str1;
*str1 = *str2;
*str2 = tmp;
}
int main() {
char str1[100], str2[100];
char *ptr1 = str1, *ptr2 = str2;
printf("Enter string 1: ");
scanf("%s", str1);
printf("Enter string 2: ");
scanf("%s", str2);
printf("Before swapping: \n");
printf("String 1: %s\n", str1);
printf("String 2: %s\n\n", str2);
swap(&ptr1, &ptr2);
printf("After swapping: \n");
printf("String 1: %s\n", str1);
printf("String 2: %s\n", str2);
return 0;
}
```
在这个示例中,我们定义了两个字符数组str1和str2,以及两个指向字符数组的指针ptr1和ptr2。我们使用scanf函数从标准输入中读取这两个字符串,并将它们分别存储在str1和str2中。
然后,我们将指向这两个字符串的指针作为参数传递给一个名为swap的函数。在这个函数中,我们定义了一个指针tmp来暂存str1的值,然后将str1的值替换为str2的值,最后将str2的值替换为tmp中存储的原始str1的值,从而交换了这两个字符串。
最后,我们在主函数中输出交换后的字符串。
阅读全文