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