编写C语言程序,要求: 输入两个字符串,将它们拼接后,输出提示:字符数组,字符串处理函数
时间: 2024-12-18 12:15:51 浏览: 37
当你编写一个C语言程序来实现这个功能时,首先需要了解如何接收用户输入并存储字符串,以及如何利用库函数进行拼接。下面是一个简单的示例程序:
```c
#include <stdio.h>
#include <string.h> // 需要包含string.h头文件,用于字符串处理函数
// 定义一个函数,接受两个字符串作为参数并返回拼接后的结果
char* concatenateStrings(const char* str1, const char* str2) {
// 计算总长度(包括终止符'\0')
int len = strlen(str1) + strlen(str2) + 1;
// 动态分配内存创建新的字符数组
char* result = (char*)malloc(len * sizeof(char));
if (result == NULL) {
printf("Memory allocation failed.\n");
return NULL; // 如果内存分配失败,返回NULL
}
// 拼接字符串
strcpy(result, str1);
strcat(result, str2); // 使用strcat函数连接字符串
return result;
}
int main() {
char str1[50], str2[50];
// 接收用户输入
printf("Enter the first string: ");
fgets(str1, sizeof(str1), stdin);
str1[strcspn(str1, "\n")] = '\0'; // 移除fgets读取到的换行符
printf("Enter the second string: ");
fgets(str2, sizeof(str2), stdin);
str2[strcspn(str2, "\n")] = '\0'; // 再次移除换行符
// 拼接并输出
char* concatenatedStr = concatenateStrings(str1, str2);
if (concatenatedStr != NULL) {
printf("Concatenated string: %s\n", concatenatedStr);
free(concatenatedStr); // 释放动态分配的内存
} else {
return -1; // 处理内存分配失败的情况
}
return 0;
}
```
在这个程序中,`concatenateStrings` 函数负责实际的字符串拼接操作,而 `main` 函数则负责用户交互和调用该函数。
阅读全文