问题 单项选择题

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

A.n=0; while(( ch=getchar())!='\n') n++;

B.n=0; while( getchar()! ='\n') n++;

C.for( n=0; getehar()!='\n'; n++);

D.n=0; for( ch=getchar(); ch!='\n'; n++);

答案

参考答案:D

解析: 选项D中ch=getchar()的操作,在for语句中所处的位置决定了此操作仅做一次,即只能从键盘上接收一个字符。如果该字符是回车符,则只循环一次就退出;如果输入一个非回车字符,则程序进入无限循环。

填空题
问答题 简答题