c语言:switch需要注意的问题

switch(表达式)


case 常量表达式1:

语句1;

break;

 

case 常量表达式2:

语句2;

break;

 

……

case 常量表达式n:

语句n;

break;

 

default:

语句n+1;

break;

}



switch的执行流程:

首先,先计算switch后面括号里的表达式的值,再将这个值与每一个case后的常量或常量表达式比较。
若一致,执行该case语句后的语句,遇到break就跳出switch语句;
若表达式的值与每一个case后的值都不一样,则执行default后的n+1语句,然后跳出switch语句。




注意:
1)switch(表达式) 表达式的值的类型应该是整型或是可以转换为整型的数值类型,例如:int,char,枚举。但是,long和string不能作用于switch语句。
2)关键字break是可选的,break语句会立即终止switch语句的执行。
3)default语句是可选的可以没有,作用是当switch表达式的值没有与之匹配的case时,执行default后的语句。如果没有default语句,出现这种情况就自动执行switch后的语句,跳出switch语句。
4)switch语句是顺序检查,但每种情况的次序是无关紧要的,例如,可以先出现default语句,在出现case语句。
5)switch(表达式)后面没有分号!case 常量:后面是冒号,不是分号!
6)case 常量或者表达式,若是表达式用单引号。
7)case语句之后即使需要执行多条语句,也不需要加大括号。
8)多个case可以共用一条输入语句。
9)每一个case的常量比必须都各不相同,否则就会出现相互矛盾的情况。















你可能感兴趣的:(c阶段)