单选题
有以下程序: main() { int x=1,y=0,a=0,b=0; switch(x) { ease 1: switch(y) } } printf(“a=%d,b=%d\n”,a,b); }程序的运行结果是( )。
【正确答案】
B
【答案解析】解析:case常量表达式只是起语句标号作用,并不使该处进行条件判断。在执行switch语句时,根据switch的表达式,找到与之匹配的case语句,就从此case子句执行下去,不再进行判断,直到碰到break或函数结束为止。所以执行内层switch(y)时只执行了a++,此时a的值为1,然后执行外层case 2语句的a++;b++;,a为2,b为1,所以结果为B选项。