问题
填空题
下面程序的功能是调用sub函数计算数组a中字符串的长度,请填空。
sub(char s[])
int n;
for(n=0; 【18】 n++);
return 【19】 ;
main()
char*a;int k;
gets(a);
【20】
printf("%d",k);
答案
参考答案:[18] s[n]!=’\0’;或s[n]; [19] n [20] k=sub(a);
解析: 函数sub()通过for循环计算字符串的长度,当字符串没有结束时循环,因此判断循环与否的条件是看字符串是否结束。故第1空应该填写s[n];或其他等价表达式。循环结束返回字符串长度值,循环变量n中累计了循环的次数即字符串的长度,故第2空应该填n。主函数中的空白处应该是一条调用函数sub()的语句,将字符串的首地址作为实参传递给形参,并将返回值赋值给变量 k。故第3空应该填k=sub(a);。