A-A+
函数fun的返回值是()。 fun(char *a char *b) int num=0 n
问题详情
函数fun的返回值是()。 fun(char *a,char *b) int num=0,n=0; while(*(a+num))!="")num++; while(b[n]){ *(a+num)=b[n];num++;n++;)return num; }
A.字符串a的长度
B.字符串b的长度
C.字符串a和b的长度之差
D.字符串a和b的长度之和请帮忙给出正确答案和分析,谢谢!
参考答案
正确答案:D
解析:因为'\0'是字符串结束标记,而fun函数中的第一个while循环从字符串a的第一个字符开始,直到碰到'\0'时结束循环,所以其作用就是将字符串a的长度记录到变量num中。而第二个while循环从b[0]开始,将字符串b中的字符依次复制到字符串a的结尾处,直到b[n]为假,即b[n]为字符串结束标志'\0'时,所以最后返回的num保存了字符串a和b的长度之和。故应该选择D。