程序如下:
#include <iostream>;
using namespace std;
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 0:a++;b++;break;
}
cout<<a<<","<<b<<endl;
}
运行结果是 2,1
为什么会执行到 case 0后面的语句呢? x的值没有变化啊,感觉是出现switch(y)以后,开始变成判断y了,可是不是只应该在
case 1:switch(y)
{
case 0:a++;break;
case 1:b++;break;
}
这一块才对Y进行判断吧?