switch易错提醒

博客指出switch的case检测到匹配后,会执行之后包括default后的所有语句。强调语法中break不能少,且case后面须为常量,若是数字需为int类型,因switch表达式须特定类型,以实现精确匹配。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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语句中使用的表达式必须具是intenum类型,否则如float等其他数据类型是无法通过的编译的,因为编译器需要switch后面的语句和case后面的值精确匹配,而计算机无法精确表达一个float数据类型

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值