day=2;
switch(day){
case 2:cout<<"cnm"<<endl;
case 3:cout<<"fuck"<<endl;
break;
}
这个输出是cnm/n fuck!!!!
swich 的case 检测到匹配后会执行之后的包括default后面代码的所有语句!!
下面是语法条件(break不能少)
switch(expression) {
case constant-expression :
statement(s);
break; /* optional */
case constant-expression :
statement(s);
break; /* optional */
/* you can have any number of case statements */
default : /* Optional */
statement(s);
}
此外还有注意,注意 case后面一定要一个常量,如果是数字的话要是int类型
原因是switch语句中使用的表达式必须具是
int或enum类型,否则如float等其他数据类型是无法通过的编译的,因为编译器需要switch后面的语句和case后面的值精确匹配,而计算机无法精确表达一个float数据类型
博客指出switch的case检测到匹配后,会执行之后包括default后的所有语句。强调语法中break不能少,且case后面须为常量,若是数字需为int类型,因switch表达式须特定类型,以实现精确匹配。
32

被折叠的 条评论
为什么被折叠?



