//#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;
}
//#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;
}
全部评论
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享