先说一下switch()的用法
相信你看完就能看明白这道题了。
1.switch()是多分支选择语句
2.switch()括号里的表达式可以为任何类型,此题就是看其余数的值与下面 的 哪条case语句对应。
3.与哪条case语句对应上,就执行那条语句,直到遇到break语句退出本条 switch()语句结构,否则接着执行下面的case语句,直到遇到break或者执行完最后一条case语句结束。
4.这里的default与case语句一样,你可以把它看成是case其他,所以可以放到任何其他的case位置。
5.当然最后一条语句可以不用break,因为已经执行到最后一条,自动就退出switch().
至于m++;你可以这样理解,m在前,先用m的值完成本条语句,++在后,那么就完成上条语句后再自加1,然后开始下条语句的执行。
希望能帮到你。
百度知道不支持缩进,看代码累
switch(a%3)
{
``case 0: //当(a%3)==0时执行下面的语句直到遇到break或return
````m++;
````break;
``case 1: //当(a%3)==1时执行下面的语句直到遇到break或return
````m++;
``````switch(b%2) // 此switch在m++执行后继续执行
``````{
````````case 0: //当b%2==0时执行下面的语句直到遇到break或return
``````````m++;
``````````break;
````````default: //当b%2 !=0时执行下面的语句直到遇到break或return或后面没语句了自然结束此switch
``````````m++;
``````}
}
switch(a%3) //比较a%3的余数,这里a=15,除3余数为0;
{
case 0:m++;//这个对应,因此m++,
break; //跳出循环,此时m=1;
case 1:m++;
switch(b%2)
{
default:m++;
case 0:m++;
break;
}
}
printf("%d\n",m);//到这里,输出
}