c语言如何交换两个字符串
时间: 2024-09-06 15:01:24 浏览: 217
在 C 语言中,交换两个字符串通常需要借助额外的空间来存储其中一个字符串的内容,因为 C 语言本身并没有内置的字符串反转函数。下面是一个简单的例子,展示了如何使用字符数组来完成字符串的交换:
```c
#include <stdio.h>
#include <string.h>
// 定义一个函数来交换两个字符串
void swapStrings(char* str1, char* str2) {
// 确保指针不是NULL
if (str1 && str2) {
int len1 = strlen(str1);
int len2 = strlen(str2);
// 创建临时存储空间
char temp[len1 + 1]; // 加1是为了保存空字符'\0'
// 将第一个字符串复制到临时变量
strcpy(temp, str1);
// 将第二个字符串覆盖到第一个字符串的位置
strcpy(str1, str2);
// 将临时变量中的内容复制回第二个字符串
strcpy(str2, temp);
}
}
int main() {
char str1[] = "Hello";
char str2[] = "World";
printf("Before swapping: str1 = %s, str2 = %s\n", str1, str2);
swapStrings(str1, str2);
printf("After swapping: str1 = %s, str2 = %s\n", str1, str2);
return 0;
}
```
在这个例子中,`swapStrings` 函数接收两个指向字符串起始位置的指针,通过创建临时数组并反复复制操作实现了字符串的交换。
阅读全文
相关推荐






