问题 单项选择题

设变量已正确定义,下列不能统计出一行中输入字符个数(不包含回车符)的程序段是( )。

A.n=0;while((ch=getchar(
))!='\n')n++;
B.n=0;while(getchar(
)!='\n')n++;
C.for(n=0;getchar(
)!='n';n++);
D.n=0;for(ch=getchar(
);ch!='\n';n++);

答案

参考答案:D

解析: 本题中,第一条语句对变量n赋初值时为0,在for循环中,从getchar()函数得到一个输入的字符,然后判断这个字符是否为回车换行符,如果不是则变量n加1,而在程序运行时,每次输入时是一个字符串,而不是一个字符,因而for循环语句得不到正确的执行,所以不能够统计出一行中字符的个数。所以正确答案为选项D。

判断题
选择题