问答题 给定程序中,函数fun的功能是: 统计形参s所指的字符串中数字字符出现的次数,并存放在形参t所指的变量中,最后在主函数中输出。 例如,若形参s所指的字符串为“abcdef35adgh3kjsdf7”,则输出结果为4。 请在程序的下画线处填入正确内容并将下画线删除,使程序得出正确的结果。 注意:部分源程序给出如下。 不得增行或删行,也不得更改程序的结构! 试题程序: #include < stdio.h > void fun(char*s,int*t) { int i,n; n=0; /*********found*********/ for(i=0; 【1】 !=0;i++) /*********found*********/ if(s[i] >='0'&&s[i] < 【2】 ) n++; /*********found*********/ 【3】 ; } main() {char s[80]="abcdef35adih3kjsdf7"; int t; printf("/nThe original string is:%s/n",s); fun(s,&t); printf("/nThe result is:%d/n",t); }
【正确答案】正确答案:(1)s[i] (2)'9' (3)*t=n
【答案解析】解析:本题考查:for循环语句;if语句条件表达式;指针变量。 填空1:通过for循环语句来判断是否到字符型结尾,变量i用来存放字符型数组下标,则应填入s [i]。 填空2:题目要求判断数字字符,所以此处应填入‘9’。 填空3:将数字字符个数存入变量t中,此处需注意变量t是指针变量。 if语句的条件表达式一般会考查三方面的内容: (1)条件判断,即 >与 >=、 < 与 < =、==与!=的区别,需要仔细分析题干的意思,确定条件表达式的内容。 (2)逻辑判断,即&&(逻辑与)与||(逻辑或)的区别,需要根据题干确定if条件中若干个条件表达式的并存关系。 (3)=(赋值号)与==(等于号)的区别,注意在if条件中不会出现=(赋值号)。