问答题
给定程序中,函数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]=“abcdef35adgh3kjsdf7”; int t; prinff(“\nTine 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条件中不会出现=(赋值号)。