c语言switch语句问题

来源:百度知道 编辑:UC知道 时间:2024/06/02 05:01:00
main()
{int a=16,b=21,m=0;
switch (a%3)
{case 0:m++;break;
case 1:m++;
switch (b%2)
{default:m++;
case 0: m++;break;
}
}printf("%d\n",m);
}
求输出的数值
3是对的。。为蛇么??为什么?请赐教

3

先是16%3=1,执行case 1:的代码,m++为1,然后switch(b%2),21%2=1,所以执行default的语句,m又++,得到2,但default里面没写break;所以继续执行case 0的语句,m又++,得到3。

1吧

直接写个程序运行一下不就玩了

m=2 对么

3

猜 2

3