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

admin2009-09-28  38

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

选项 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

解析 本题主要考查了while和for循环语句的执行过程。for循环的一般形式如下:
for(表达式1;表达式2;表达式3)循环体
for循环的执行过程如下:
   ①计算表达式1;
   ②计算表达式2。若其值为非o,转步骤3;若其值为0,转步骤5;
   ③执行—次for循环体:
   ④计算表达式3,转向步骤2:
   ⑤结束循环。
   在选项D中,由于for循环语句末尾直接是分号,没有循环体,因此可以将其看做—条空循环语句,循环体部分可以忽略。程序首先在for循环语句外为变量n赋初值0,在for循环中,先执行表达式“cb=getchar();”,getchar函数用于输入字符,因此程序首先将输入的字符赋值绐变量ch,然后执行表达式“ch!=’\n’;”,判断输入的字符是否为回车,如果此时输入的字符是回车,结束循环,所以D选项错误。
转载请注明原文地址:https://kaotiyun.com/show/v9Wp777K
0

最新回复(0)