用c语言编写程序任意输入3个长度不一的字符串,不使用系统的标准函数strcat,用字符数组处理,将三个字符串连接为 一个串后显示。例如: ”abcdefgh”+”1232434”+”ABCDE”=> “abcdefgh1232434ABCDE”
时间: 2024-12-22 16:33:27 浏览: 19
在 C 语言中,如果要手动拼接字符串而不用 `strcat` 函数,可以使用循环逐个添加每个字符串的字符。以下是一个示例程序,它接收三个用户输入的字符串并将它们合并在一起:
```c
#include <stdio.h>
#include <stdlib.h> // 用于动态分配内存
#define MAX_LEN 200
int main() {
char str1[MAX_LEN], str2[MAX_LEN], str3[MAX_LEN];
char result[MAX_LEN * 3]; // 动态分配足够的空间存放结果
printf("请输入第一个字符串: ");
fgets(str1, sizeof(str1), stdin);
str1[strlen(str1) - 1] = '\0';
printf("请输入第二个字符串: ");
fgets(str2, sizeof(str2), stdin);
str2[strlen(str2) - 1] = '\0';
printf("请输入第三个字符串: ");
fgets(str3, sizeof(str3), stdin);
str3[strlen(str3) - 1] = '\0';
int total_len = 0;
// 拼接字符串
for (int i = 0; i < strlen(str1); i++) {
result[total_len++] = str1[i];
}
for (int i = 0; i < strlen(str2); i++) {
result[total_len++] = str2[i];
}
for (int i = 0; i < strlen(str3); i++) {
result[total_len++] = str3[i];
}
// 添加结束符 '\0'
result[total_len] = '\0';
printf("合并后的字符串: %s\n", result);
free(result); // 释放动态分配的内存
return 0;
}
```
阅读全文