为什么运行结果是2,1?
#include
using namespace std;
int 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;
}
cout<
return 0;
}
x=1,执行case 1,y=0执行case 0 ,所以a++后 a为1
但由于switch(x)的 case 1没有加break,所以还会执行case 2 ,因此还会执行a+=和b++,最终a=2,b=1
所以case 一定要注意加 break
switch(x)的case1后面没有break,运行完case1后会继续运行case2里的内容。
因为外层switch的case 1没有写break,所以case 1结束后会继续执行case 2,导致a++执行2次,b++执行1次
case 1:
switch(y){
case 0:a++;break;
case 1:b++;break;
}
break;