C语言实现给你两个字符串 word1和 word2。请你从 word1 开始,通过交替添加字母来合并字符串。如果一个字符串比另一个字符串长,就将多出来的字母追加到合并后字符串的末尾。 返回合并后的字符串。
时间: 2023-06-11 08:05:03 浏览: 180
C语言实现合并字符串
好的,让我来回答这个问题。可以按照以下步骤实现:
1.定义两个指针,分别指向两个字符串的开头。
2.定义一个新字符串,用于存放合并后的结果。
3.循环遍历两个字符串,每次将指针所指的字符添加到新字符串中,并将指针向后移动。
4.循环结束后,如果有一个字符串还没被遍历完,则将剩余的字符追加到新字符串的末尾。
5.最后返回新字符串即可。
下面是对应的 C 语言代码:
```
char* mergeStrings(char* word1, char* word2) {
int len1 = strlen(word1);
int len2 = strlen(word2);
int i = 0, j = 0, k = 0;
char* res = (char*)malloc((len1 + len2 + 1) * sizeof(char));
while (i < len1 && j < len2) {
res[k++] = word1[i++];
res[k++] = word2[j++];
}
while (i < len1) {
res[k++] = word1[i++];
}
while (j < len2) {
res[k++] = word2[j++];
}
res[k] = '\0';
return res;
}
```
希望我的回答能够解答你的问题,如果有任何问题,欢迎随时向我提出。
阅读全文