函数fun的返回值是( )。 fun(char *a,char *b) int num=0,n=0; while(*(a+num))!='\0')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。