C/C++中switch语句的用法
我们经常见到的关于switch语句的解释一般是这样的:
一个switch语句允许测试一个变量等于多个值时的情况。每个值称为一个case,且被测试的变量会对每一个switch case进行检查。
语法:
switch(expression){
case constant-expression:
statement(s);
break;
case constant-expression:
statement(s);
break;
// 可以有任意数量的 case 语句
default:
statement(s);
}
需要注意:
1. expression必须是一个整形或枚举类型,或者是一个class类型,其中class有一个单一的转换函数将其转换为整型或枚举类型。
2. case的constant-expression必须和switch中的变量具有相同的数据类型,且必须是一个常量或字面量。
3. break不是必须包含的语句
4. default不是必须包含在switch中的
但是,当某个case后没有break时,许多人会想当然地认为这次switch结束了,跳出了switch,事实上,如果case语句不包含break,控制流将继续后续的case。
例如:
int main() {
int c