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

admin2020-05-19  24

问题 有以下程序
#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++);
}
}
printf("\n");
}

执行时输入:1 2 3 <回车>,则输出结果是( )。

选项 A、1,2,3,2,3,3,
B、1,2,3,
C、2,3,4,3,4,4,
D、1,1,1,2,2,3

答案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/3gCp777K
0

最新回复(0)