c语言求写一个函数fun(char*p,char*q),功能是把p指向的字符串连接到q指向的字符串后面,把q指向的字符串连接到p指向的字符串后面,然后再交换p和q指向的两个字符串。
时间: 2024-02-03 08:14:41 浏览: 56
c用c语言编写一个函数,连接两个字符串
4星 · 用户满意度95%
以下是一个可能的实现:
```c
#include <stdio.h>
#include <string.h>
void fun(char *p, char *q) {
// 拼接 p 和 q 指向的字符串
strcat(p, q);
strcat(q, p);
// 交换 p 和 q 指向的字符串
char *temp;
temp = p;
p = q;
q = temp;
// 输出结果
printf("p: %s\n", p);
printf("q: %s\n", q);
}
int main() {
char str1[100] = "hello";
char str2[100] = "world";
fun(str1, str2);
return 0;
}
```
这个函数首先使用 `strcat` 函数将 p 和 q 指向的字符串拼接起来,然后交换 p 和 q 的指向,最后输出结果。需要注意的是,由于在 C 语言中函数参数传递是按值传递的,所以在函数内部交换指针指向时需要使用临时变量。
阅读全文