switch(a){case 1:printf("1 \r\n");case 2:printf("2 \r\n");case 3:printf("3 \r\n");default:printf("4 \r\n");}
每一个case的常量表达式的值必须互不相同。执行完一个case后面的语句后,流程控制转移到下一个case继续执行。
例如上面的例子,如果a值等于2,执行结果为连续输出:
2
3
4
通常需要在执行一个case分支后,使流程跳出switch结构,即终止switch语句的执行。方法是在此分支语句后面添加一个break语句来实现。
将上面程序修改如下:
switch(a){case 1:printf("1 \r\n");break;case 2:printf("2 \r\n");break;case 3:printf("3 \r\n");break;default:printf("4 \r\n");}
最后一个分支(default)可以不加break。a值等于2,执行结果为输出:
2