C语言合并两个字符串的程序
时间: 2023-11-12 11:00:57 浏览: 50
以下是C语言合并两个字符串的程序:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str1[100], str2[100];
printf("输入第一个字符串:");
gets(str1);
printf("输入第二个字符串:");
gets(str2);
strcat(str1, str2);
printf("合并后的字符串是:%s", str1);
return 0;
}
```
该程序使用了C语言的字符串库函数 `strcat()`,它可以将第二个字符串连接到第一个字符串的末尾。程序首先从用户处获得两个字符串,然后使用 `strcat()` 将它们合并到第一个字符串中,最后输出合并后的字符串。在使用 `gets()` 函数获取用户输入时,需要注意输入的字符串不能超过数组大小,否则会导致缓冲区溢出。
相关问题
合并两个字符串C语言
以下是一个合并两个有序字符串的C语言函数的例子:
```c
void str_bin(char* str1, char* str2) {
int len1 = strlen(str1);
int len2 = strlen(str2);
int i = len1 - 1, j = len2 - 1, k = len1 + len2 - 1;
while (i >= 0 && j >= 0) {
if (str1[i] > str2[j]) {
str1[k--] = str1[i--];
} else if (str1[i] < str2[j]) {
str1[k--] = str2[j--];
} else {
j--;
}
}
while (j >= 0) {
str1[k--] = str2[j--];
}
}
```
该函数的思路是从后往前遍历两个字符串,比较当前位置的字符大小,将较大的字符放到合并后的字符串的末尾。如果两个字符相等,则将str2的指针向前移动一位。最后,如果str2还有剩余字符,则将其全部复制到str1的前面。
在main函数中,可以按照以下方式调用该函数:
```c
int main() {
char str1[100], str2[100];
scanf("%s%s", str1, str2);
str_bin(str1, str2);
printf("%s", str1);
return 0;
}
```
C语言将两个字符串合并成一个字符串
可以使用C语言中的字符串函数`strcat()`来合并两个字符串。`strcat()`函数可以将第二个字符串追加到第一个字符串的末尾。下面是一个示例代码:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str1[100] = "Hello, ";
char str2[] = "world!";
strcat(str1, str2); // 将 str2 追加到 str1 的末尾
printf("合并后的字符串: %s", str1);
return 0;
}
```
输出结果为:`合并后的字符串: Hello, world!`。
需要注意的是,在使用`strcat()`函数时,第一个参数必须是一个指向字符串的指针,并且该指针指向的内存空间必须有足够的大小来存储两个字符串的内容。否则可能会导致程序崩溃或者产生未知的错误。