问题
单项选择题
设变量已正确定义,以下不能统计出一行中输入字符个数(不包含回车符)的程序段是
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语句中所处的位置决定了此操作仅做一次,即只能从键盘上接收一个字符。如果该字符是回车符,则只循环一次就退出;如果输入一个非回车字符,则程序进入无限循环。