字符串a和z互换,以c语言函数的形式体现
时间: 2024-09-20 07:02:06 浏览: 33
字符串排序算法比较(C语言)
在C语言中,我们可以创建一个简单的函数来交换两个字符串a和z的内容。这里是一个示例函数`swap_strings`,它接受两个指向字符数组的指针,然后遍历每个字符并交换它们的位置。
```c
#include <stdio.h>
#include <string.h> // 引入strlen函数
void swap_strings(char *a, char *z) {
if (a && z && a != z) { // 检查指针是否有效且不是同一地址
int length = strlen(a); // 获取字符串长度
for (int i = 0; i < length; ++i) {
char temp = a[i]; // 存储当前字符
a[i] = z[i]; // 将z的字符放到a的相应位置
z[i] = temp; // 将a的字符放到z的相应位置
}
} else {
printf("Invalid input: The two strings must be different.\n");
}
}
// 示例调用
int main() {
char str_a[] = "abcde";
char str_z[] = "zyxwv";
printf("Before swapping: a = %s, z = %s\n", str_a, str_z);
swap_strings(str_a + 1, str_z + 1); // 开始位置从'a'和'z'开始,因为原始'a'和'z'会被自身覆盖
printf("After swapping: a = %s, z = %s\n", str_a, str_z);
return 0;
}
```
这个函数假设输入的字符串足够大,可以容纳所有的字符交换。如果`a`和`z`在同一个位置上(即`a == z`),则不会执行交换。
阅读全文