C语言程序本题要求编写程序,使用指针方式实现两个字符串的连接(不能使用strcat函数),并将连接后的字符串输出。 输入格式: 输入一行以回车结束的非空字符串(不超过40个字符),再输入一行以回车结束的非空字符串(不超过40个字符)。 输出格式: 一行输出俩字符串连接后新的字符串。 输入样例:
时间: 2024-03-17 07:41:43 浏览: 20
好的,以下是 C 语言的代码示例:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str1[41], str2[41], *p1, *p2, res[81], *p_res;
scanf("%s%s", str1, str2);
p1 = str1;
p2 = str2;
p_res = res;
while (*p1) {
*p_res++ = *p1++;
}
while (*p2) {
*p_res++ = *p2++;
}
*p_res = '\0';
printf("%s\n", res);
return 0;
}
```
首先定义了三个字符数组 `str1`、`str2`、`res`,分别用于存储两个输入字符串和合并后的字符串,长度为 41,多出的一个字符用于存储字符串结尾的空字符 `\0`。
然后定义三个指针 `p1`、`p2`、`p_res`,分别指向 `str1`、`str2`、`res` 的首字符。使用 `scanf` 读入两个字符串。
接着,使用 `p1` 和 `p2` 分别遍历 `str1` 和 `str2`,将其中的字符逐个复制到 `res` 中,使用 `p_res` 指向 `res` 进行操作。最后在 `res` 的末尾添加空字符 `\0`,并输出 `res` 即可。
需要注意的是,在 C 语言中,字符串以空字符 `\0` 结尾,因此在将两个字符串拼接到 `res` 中时,需要在最后添加一个空字符。