#include <stdio.h>
void 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;
case 3: a++;b++;
}
printf(“\na=%d,b=%d”,a,b);
}
运行结果是什么?,为什么啊
x = 1,执行
switch(y) {
case 0: a++; break;
case 1: b++; break;
}
y = 0,执行a++,此时a = 1,跳出switch(y),由于switch(x)的case 1:没有break语句,因此执行case 2: a++,b++,此时a = 2,b = 1,然后跳出switch(x),故程序输出结果是
a=2,b=1