Switch语法结构
switch(整型常量表达式)
{
case 整型常量表达式:
语句;
break;
case 整型常量表达式:
语句;
break;
..........
default:
语句;
break;
}
-------------------------------------------------------
switch与case后面必须跟整型常量或者整型常量表达式,字符常量属于整型常量的一种特殊形式;以下的写法会报错
① int n=1;
.....
case n......n是变量,不是常量
② float n;
switch(n)......n不是整型
-------------------------------------------------------------------------------
case语句是判断执行的入口,break是判断执行的出口,如果后面没有break的话,那么会一直向下执行,直到碰到break或者执行完全部语句。
输入2,以后,由79行case2匹配成功,开始执行此语句,由于没有break,继续向下执行case3.
-----------------------------------------------------
当有多条case语句输出同一结果时,可以将它们合并,只在最后一条case写break;
---------------------------------------------------------------------------------------
default语句可以理解为否则,当case语句与switch不匹配时执行此语句,default语句也必须带break;default语句不是必须项。
一个switch语句例题分析。
81行 switch(1),从83行进入,执行case1,没有break,继续向下执行到case3,此时m=3,n=2;
86行 switch(2),执行89行,此时m=4,n=3;92行,m=5;
最终结果 m=5,n=3