有以下程序 #include main() { int c=0,k; for (k=1;k

admin2015-07-28  26

问题 有以下程序
#include
main()
{ int c=0,k;
for (k=1;k<3;k++)
switch (k)
{ default: c+=k;
case 2: c++;break;
case 4: c+=2;break;
}
printf("%d\n",c);
}
程序运行后的输出结果是( )。

选项 A、3
B、5
C、7
D、9

答案A

解析 考查switch语句的执行过程。switch语句执行过程中,default语句块最后执行,case或者default只是作为一个入口,如果执行完某一个case或者default语句块之后没有遇到break,则继续往下执行。该程序中外层循环是k从1到2,当k为1时,由于default语句后没有break,所以switch语句执行完default中的语句块之后又执行了case 2,此时c为2;当k为2时,程序执行case 2,计算得c的值为3,答案选A。
转载请注明原文地址:https://kaotiyun.com/show/XOJp777K
0

最新回复(0)