c语言字符串交换函数
时间: 2024-10-07 20:00:16 浏览: 16
在C语言中,交换两个字符串通常涉及到的是字符数组或者`char*`指针。这里提供一种简单的字符串交换函数实现方法:
```c
#include <stdio.h>
#include <string.h>
void swapStrings(char *str1, char *str2) {
if (str1 && str2) { // 检查输入是否为空
int len1 = strlen(str1);
int len2 = strlen(str2);
char temp[len1 + 1]; // 创建临时存储空间
// 将第一个字符串复制到临时变量
strncpy(temp, str1, len1);
temp[len1] = '\0'; // 添加终止符防止溢出
// 将第二个字符串的内容覆盖到第一个字符串的位置
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`接收两个字符串地址作为参数,通过创建一个临时字符数组来交换它们的内容。注意,在实际操作前需要检查输入的指针是否有效。