c语言中请完善程序,实现以下程序功能:以下程序模拟字符串处理 西数strcat(的功能,对两个字符串进行连接。首先从键盘上输入两个宇符串并保存到数组s1(最多80个 宇符)和s2(最多80个字符)中,然后通过对字符串s2中字符逐个进行传递的方式,将宇符串s2中的宇符全部顺序复制到数组s1中原有字待的后面,最后输出s1的内容。
时间: 2024-02-21 15:59:04 浏览: 78
以下是完善后的程序:
```c
#include <stdio.h>
#include <string.h>
int main() {
char s1[81], s2[81];
int len1, len2, i;
printf("请输入第一个字符串(最多80个字符):");
fgets(s1, 81, stdin);
len1 = strlen(s1);
if (s1[len1 - 1] == '\n') {
s1[len1 - 1] = '\0'; // 去掉fgets读取的换行符
len1--;
}
printf("请输入第二个字符串(最多80个字符):");
fgets(s2, 81, stdin);
len2 = strlen(s2);
if (s2[len2 - 1] == '\n') {
s2[len2 - 1] = '\0';
len2--;
}
for (i = 0; i < len2; i++) {
s1[len1 + i] = s2[i];
}
s1[len1 + len2] = '\0';
printf("连接后的字符串为:%s\n", s1);
return 0;
}
```
程序流程说明:
1. 定义两个字符串 `s1` 和 `s2`,并定义它们的长度变量 `len1` 和 `len2`。
2. 通过 `fgets` 函数分别从键盘上读取两个字符串,并去掉末尾的换行符。
3. 使用一个循环将 `s2` 中的字符逐个复制到 `s1` 的末尾。
4. 在 `s1` 的末尾添加一个字符串结束符 `\0`。
5. 输出连接后的字符串。
注意事项:
1. 使用 `fgets` 函数读取字符串时,要注意去掉末尾的换行符,否则会影响后面的处理。
2. 在字符串末尾添加字符串结束符 `\0`,否则输出时会出现意想不到的结果。
阅读全文