有以下程序 #include main() { int x=1, y=0,a=0,b=0; switch( x ) { case 1: switch ( y ) { case 0: a++; break; case 1: b++; break; } ca

admin2020-05-19  12

问题 有以下程序
#include
main()
{ int x=1, y=0,a=0,b=0;
switch( x )
{ case 1: switch ( y )
{ case 0: a++; break;
case 1: b++; break;
}
case 2: a++; b++; break;
}
printf("a=%d,b=%d\n",a,b );
}
程序运行后的输出结果是( )。

选项 A、a=2,b=1
B、a=1,b=1
C、a=1,b=0
D、a=2,b=2

答案A

解析 break语句用于循环嵌套或者switch选择嵌套时,只能跳出当前层的switch选择层或循环层。本程序中,先执行switch(x),而x=1,执行case 1对应的语句块,进入嵌套的选择语句switch(y),y=0,执行case 0: a++; break;此时a=1,遇到break语句后跳出switch(y),没有遇到break,继续执行case 2: a++; b++; break;此时a=2,b=1。遇到break跳出switch(x)。最终a=2,b=1,输出结果为
转载请注明原文地址:https://kaotiyun.com/show/FuCp777K
0

最新回复(0)