我有一个函数,它应该合并2个字符串并返回结果更长的字符串.该字符串似乎已成功合并到函数中,但返回时信息将丢失.函数中的'output'包含合并的字符串,应返回此值.
mergedString不在main中打印,而是在函数中打印.为什么?如何使它工作?
main () {
char *mergedString = mergeStrings( frags[maxOverlapArrPos1], frags[maxOverlapArrPos2], maxCharOverlap);
printf ("mergedStringInMain is %s\n", mergedString);
}
char * mergeStrings(char * string1, char * string2, int overlapCharSize){
int overlapStartPosition = strlen(string1) - overlapCharSize;
char output[] = "";
if (strlen(string2)>overlapCharSize){
strncat(output, string1, overlapStartPosition);
strncat(output , string2, strlen(string2));
}
printf ("mergedStringInFunction is %s\n", output);
return output;
}
Run Code Online (Sandbox Code Playgroud)
输出是:
mergedString是abcdefg
mergedString是?