编写程序,将两个字符串连接起来并输出。c语言
时间: 2024-10-29 08:15:01 浏览: 32
在C语言中,你可以使用`strcat()`函数来连接两个字符串。下面是一个简单的示例,展示了如何完成这个任务:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str1[50], str2[50]; // 定义两个字符数组
printf("请输入第一个字符串: ");
fgets(str1, sizeof(str1), stdin); // 从用户输入读取字符串,包括换行符
str1[strcspn(str1, "\n")] = '\0'; // 清除fgets带来的换行符
printf("请输入第二个字符串: ");
fgets(str2, sizeof(str2), stdin);
str2[strcspn(str2, "\n")] = '\0'; // 同样清除换行符
// 使用strcat()函数连接两个字符串
strcat(str1, str2);
printf("合并后的字符串: %s\n", str1); // 输出结果
return 0;
}
```
在这个程序中,首先从用户那里获取两个字符串,然后使用`strcat()`函数将它们拼接在一起,并打印出最终的结果。
相关问题
用c语言编写程序将两个字符串连接起来,不可用strcat函数
在C语言中,如果你不能直接使用`strcat()`函数来连接两个字符串,你可以通过动态内存分配和指针操作来手动实现这个功能。这里是一个简单的示例:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h> // 为了使用strlen()
// 自定义字符串连接函数
char* string_concat(char *dest, char *src) {
int dest_len = strlen(dest); // 获取目标字符串长度
int src_len = strlen(src);
char *new_str = (char*)malloc((dest_len + src_len + 1) * sizeof(char)); // 动态分配新空间
if (new_str == NULL) {
printf("Memory allocation failed!\n");
return NULL;
}
// 将源字符串追加到目标字符串的末尾
for (int i = 0; i < src_len; ++i) {
new_str[dest_len + i] = src[i];
}
new_str[dest_len + src_len] = '\0'; // 添加终止符
// 如果目标字符串之前已经包含'\0',则不需要再添加
if (dest[dest_len - 1] != '\0') {
memmove(new_str, dest, dest_len); // 移动目标字符串到新字符串的开始位置
}
return new_str;
}
int main() {
char str1[] = "Hello, ";
char str2[] = "world!";
char *result = string_concat(str1, str2);
if (result != NULL) {
printf("Concatenated string is: %s\n", result);
free(result); // 释放内存
} else {
printf("Failed to concatenate strings.\n");
}
return 0;
}
```
在这个例子中,我们首先计算了目标字符串和源字符串的总长度,并加上一个额外的空间用于终止符。然后创建一个新的动态数组并复制源字符串的内容。最后,如果需要,我们将目标字符串移动到新数组的开始位置。
学习-编写函数将两个字符串连接起来的c语言函数
以下是将两个字符串连接起来的C语言函数的实现:
```c
#include <stdio.h>
#include <string.h>
void concat(char str1[], char str2[]) {
strcat(str1, str2);
printf("Concatenated string: %s", str1);
}
int main() {
char str1[100], str2[100];
printf("Enter string 1: ");
gets(str1);
printf("Enter string 2: ");
gets(str2);
concat(str1, str2);
return 0;
}
```
此函数使用`strcat()`函数将第二个字符串(`str2`)附加到第一个字符串(`str1`)的末尾。最后,使用`printf()`函数打印连接后的字符串(`str1`)。
请注意,`gets()`函数已被标记为不安全,因此不建议在实际程序中使用。您可以使用`fgets()`函数来代替。
阅读全文