c语言要求编写程序,使用指针方式实现两个字符串的连接(不能使用strcat函数),并将连接后的字符串 输出。 输入格式: 输入一行以回车结束的非空字符串(不超过40个字符),再输入一行以回车结束的非空字符串(不超过40个字符)。 输出格式: 一行输出俩字符串连接后新的字符串。
时间: 2024-02-25 13:59:16 浏览: 76
字符串拼接strcat使用及实现
下面是使用指针方式实现两个字符串的连接的 C 语言程序:
```c
#include <stdio.h>
int main()
{
char str1[40], str2[40], str3[80];
char *p1 = str1, *p2 = str2, *p3 = str3;
int i;
printf("请输入第一个字符串:\n");
scanf("%s", str1);
printf("请输入第二个字符串:\n");
scanf("%s", str2);
// 将第一个字符串复制到 str3 中
while (*p1 != '\0') {
*p3 = *p1;
p1++;
p3++;
}
// 将第二个字符串复制到 str3 中
while (*p2 != '\0') {
*p3 = *p2;
p2++;
p3++;
}
// 将 '\0' 添加到 str3 的结尾
*p3 = '\0';
printf("连接后的字符串为:%s\n", str3);
return 0;
}
```
程序中首先定义了三个字符数组 `str1`、`str2` 和 `str3`,分别用于存储输入的两个字符串和连接后的字符串。然后定义了三个指针变量 `p1`、`p2` 和 `p3`,分别指向三个字符数组的开始位置。程序通过 `scanf` 函数从标准输入中读入两个字符串,并将它们存储到 `str1` 和 `str2` 数组中。
接着,程序使用两个 while 循环依次将 `str1` 和 `str2` 中的字符复制到 `str3` 中,直到遇到 `\0` 结束符。在复制过程中,使用指针 `p1`、`p2` 和 `p3` 分别指向 `str1`、`str2` 和 `str3` 数组中的当前位置,并使用指针的自增操作更新指针的值。
最后,程序在 `str3` 的末尾添加了一个 `\0` 结束符,并使用 `printf` 函数将连接后的字符串输出到标准输出中。
阅读全文