case语句与switch语句
case和default子句出现的先后顺序可以变动,不会影响程序的执行结果
前提是default语句有break
若default语句无break,且switch中无匹配条件,那么会从default语句进入,直到找到下一个break才会停止。例子如下,最后结果m=3
#include<stdio.h>
void main()
{
int a=16,b=21,m=0;
switch(a%3) : //1
{
case0:m++;
break;
case1:m++;
switch(b%2) ://1
{
default:m++; //2,( 若此处有break,得到m则为2,正因为没有,才会执行case0 )
case0:m++;
break;
}
}
printf("m=%d\n",m); //m=3
}