填空题 给定程序中函数fun的功能是:比较两个字符串,将长的那个字符串的首地址作为函数值返回。
请改正函数fun中指定部位的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
给定源程序:
#include<stdio.h>
/**********found**********/
char fun(char*s,Char*t)
{int s1=0,t1=0;char *ss,*tt;
ss=s;tt=t;
while(*ss)
{sl++;
/**********found**********/
(*ss)++;
}
while(*tt)
{tl++;
/**********found**********/
(*tt)++;
}
if(tl>sl)return t;
else return s;
}
main()
{char a[80],b[80];
printf("/nEnter a string:");gets(a);
printf("/nEnter a string again:");gets(b);
printf("/nThe longer is:/n/n"%s"/n",fun(a,b));
}
【正确答案】
【答案解析】(1)char *fun(char *s,char *t)
(2)ss++;
(3)tt++; [解析] (1)fun函数参数是字符串,返回也为字符串,所以参数,返回值都是指针形式。
(2)指针形式后移是指针直接自增,不要加*,加*是取内容。
(3)同(2)