有以下程序 #include main() { int a,b; for (a=0; a

admin2015-07-28  28

问题 有以下程序
#include
main()
{ int a,b;
for (a=0; a<3; a++)
{ scanf("%d", &b);
switch(b)
{ case 1: printf("%d,", ++b);
case 2: printf("%d,", ++b);
default: printf("%d,", ++b);
}
}
}
执行时输入:1 2 3<回车> ,则输出结果是( )。

选项 A、2,3,4,3,4,4,
B、2,3,4,
C、2,2,2,3,3,4,
D、2,3,4,3,4,5,4,5,6

答案A

解析 考查switch语句的执行过程。switch语句执行过程中,default语句块最后判定,case或者default只是作为一个入口,如果执行完某一个case或者default语句块之后没有遇到break,则继续往下执行。3次输入的b值分别为1、2、3。对应执行的printf语句的条数分别为3、2、1条。每次输出b自加1后的值,所以答案选A。
转载请注明原文地址:https://kaotiyun.com/show/2dJp777K
0

最新回复(0)