C语言实现求字符串之间的合并
时间: 2024-05-14 15:17:23 浏览: 75
假设我们有两个字符串 str1 和 str2,我们可以通过以下步骤将它们合并:
1. 首先,我们需要计算出 str1 和 str2 的长度,以便我们知道需要分配多大的内存来存储合并后的字符串。
2. 接下来,我们可以使用动态内存分配函数 malloc() 来分配足够的内存来存储合并后的字符串。合并后的字符串的长度应该是 str1 和 str2 长度之和再加上一个额外的字符 '\0',用来表示字符串的结束。
3. 然后,我们可以使用字符串处理函数 strcat() 将 str1 和 str2 中的内容拼接到新分配的内存块中。
4. 最后,我们需要释放我们使用 malloc() 分配的内存。
下面是一个实现示例:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main() {
char str1[] = "Hello, ";
char str2[] = "world!";
int len1 = strlen(str1);
int len2 = strlen(str2);
char* merged_str = (char*) malloc(len1 + len2 + 1); // +1 是为了存储字符串的结束符 '\0'
strcpy(merged_str, str1);
strcat(merged_str, str2);
printf("Merged string: %s\n", merged_str);
free(merged_str);
return 0;
}
```
输出结果为:
```
Merged string: Hello, world!
```
阅读全文