//#include <string.h> “strlen”需要用到这个头文件
//#include <stdlib.h> “malloc”需要用到这个头文件

//char arr[201]; //函数内声明的char arr[201]无法被返回
//题干已经说明先放word1再放word2了
char* mergeAlternately(char* word1, char* word2) {
    int l1, l2, i=0, j=0; 
    l1 = strlen(word1);  // 只有字符数组才能用stelen
    l2 = strlen(word2);
    char *arr = (char*)malloc(sizeof(char)*(l1+l2+1));  // arr只是分配了空间,没有初始化,不能用strlen,至少要有\0
    for(i; i<l1 || i<l2; i++){  // i是对应word1和word2的每一个位置的;j是用于构建arr的
        if(i < l1){
            arr[j++] = word1[i];
        }
        if(i < l2){
            arr[j++] = word2[i];
        }
    }
    arr[j] = '\0';  // 此时j指向最后元素的下一个位置
    return arr;
}
全部评论

相关推荐

程序员小白条:这比例牛逼,750:1
点赞 评论 收藏
分享
07-20 12:08
已编辑
江南大学 图像识别
机械牛马勇闯秋招:把校园经历里面做过的项目,大作业,课设,毕设啥的,扩写,写成具体的项目经历,自我评价缩写别占篇幅,不然这简历真没东西,初筛都过不了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务