问答题 给定程序中,函数fun的功能是:统计形参s所指字符串中数字字符出现的次数,并存放在形参t所指的变量中,最后在主函数中输出。例如,形参s所指的字符串为:abcdef35adgh3kjsdf7。输出结果为:4。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构!1 #include<stdio.h>2 void fun(char *s,int *t)3 { int i,n;4 n=0;5 /**********found**********/6 for(i=0; __1__ !=0;i++)7 /**********found**********/8 if(s[i]>='0' &&s[i]<=__2__)n++;9 /**********found**********/10 __3__;11 }12 main()13 {char s[80]=''abcdef35adgh3kjsdf7'';14 int t;15 printf(''\nThe original string is:%s\n'',s);16 fun(s,&t)'17 printf(''\nThe result is:%d\n'',t);}
【正确答案】正确答案:(1)s[i] (2)'9' (3)*t=n
【答案解析】解析:搜索整个字符串,判断s[i]>='0'且s[i]<='9',满足该条件后,计数变量加1,因此 第一空:循环终止条件是达到了字符串的尾部,字符串以“\0”(或NULL)结束,故第一空处应为s[i]。第二空:数字字符的判断是s[i]>='0'且s[i]<='9',故第二空处应为“'9'”。第三空:这里是将数字字符出现的次数存放在形参t里,n记录了数字字符的个数,而形参t是指针变量,故第三处应为“*t=n”。