qq飞车s车蓝色:c++语言问题

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/30 10:34:42
#include<iostream.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++;}
}
cout<<"a="<<a<<"b="<<b<<endl;
} 为什么结果是那样的 switch(x)是x不是a呀

执行顺序是
switch(x),x是1,所以switch(y),y是0,然后a++,break跳出switch(y),因为case 1后面没有break,所以顺序执行case2,a++,b++,break跳出switch(x)
因此随后结果是a=2,b=1

你这段程序干嘛用的啊?
好像问题多多嘛

结果是a=1,b=0

case 1: b++;break;
}
case 2:{a++;b++;break;}
case 3:{a++;b++;}

这一段没有执行。