c语言 交替合并数组字符串
时间: 2024-09-22 20:07:19 浏览: 52
在C语言中,"交替合并数组字符串"通常是指将两个长度相等的字符数组中的元素逐个配对,并拼接成一个新的字符串。如果数组长度不一致,需要先处理这种情况。下面是一个简单的示例,假设我们有两个字符串`str1`和`str2`:
```c
#include <stdio.h>
#include <string.h>
// 函数声明
char* alternateMerge(char str1[], char str2[], int len);
int main() {
char str1[] = "Hello";
char str2[] = "World!";
int len = strlen(str1); // 获取每个字符串的长度
if (len != strlen(str2)) {
printf("Error: Arrays have different lengths.\n");
} else {
char *mergedStr = alternateMerge(str1, str2, len);
printf("Merged string: %s\n", mergedStr);
free(mergedStr); // 不忘记释放内存
}
return 0;
}
// 交替合并函数
char* alternateMerge(char str1[], char str2[], int len) {
// 申请足够大的内存存储结果
char* result = (char*)malloc((len + 1) * sizeof(char));
result[0] = '\0'; // 初始化空字符串
for (int i = 0; i < len; i++) {
result[i * 2] = str1[i];
result[i * 2 + 1] = str2[i];
}
// 结束后加一个空字符作为字符串结束标志
result[len * 2] = '\0';
return result;
}
```
在这个例子中,`alternateMerge`函数会遍历两个输入数组,每一步将`str1`和`str2`中的对应字符放入结果字符串中。如果数组长度不同,则需要先检查并处理。
阅读全文