楼上的不对
main()
{int x=1,a=0,b=0;
switch(x)
{case 0:b++;
case 1:a++;
case 2:a++;b++;
}
printf ("a=%d,b=%d\n",a,b);
}
首先 x=1;进入switch语句后直接去case 1 执行a++,a=1
然后再进入case2 a++;b++; a=2,b=1
所以最后结果是 a=2,b=1
二楼正解
如果在case 1:a++;后面加上break;,那执行了a++后就直接退出switch语句
首先x=1,进入switch语句后直接去case 1 执行a++,a=1
最后输出:a=1 b=0