c语言交换两个字符串
时间: 2024-10-22 20:21:30 浏览: 31
C语言指针实现字符串的反转
在 C 语言中,交换两个字符串通常涉及到字符数组或者指向字符数组的指针。由于 C 语言没有直接的字符串交换函数,我们可以创建一个临时变量来辅助交换。这里是一个简单的例子:
```c
#include <stdio.h>
#include <string.h>
void swapStrings(char* str1, char* str2) {
char temp[100]; // 假设我们假设每个字符串长度不超过100
// 检查字符串是否为空,以避免数组越界
if (str1 && str2) {
strncpy(temp, str1, strlen(str1)); // 将 str1 的内容复制到 temp
strncpy(str1, str2, strlen(str2)); // 将 str2 的内容复制到 str1
strncpy(str2, temp, strlen(temp)); // 将 temp 的内容复制到 str2
}
}
int main() {
char str1[] = "Hello";
char str2[] = "World";
printf("Before swap: str1 = %s, str2 = %s\n", str1, str2);
swapStrings(str1, str2);
printf("After swap: str1 = %s, str2 = %s\n", str1, str2);
return 0;
}
```
在这个例子中,`swapStrings` 函数接受两个指向字符串的指针,然后通过 `strncpy` 函数逐个字符地交换它们的内容。注意在实际应用中,你应该确保有足够的空间来存储所有的字符。
阅读全文