switch 语句的使用(出现 switch quantity not an integer 报错后的思考与学习)

敲代码的时候遇到了报错:switch quantity not an integer。上网查了后才发现自己对 switch 语句的使用并不了解。

语法:

switch ( 常量表达式 )
{
case 常量1 :语句;
case 常量2 :语句;
case 常量3 :语句;
...
case 常量n:语句;
default :语句;
}

当常量表达式所表达的量与其中一个 case 语句中的常量相符时,就执行此 case 语句后面的语句,并依次下去执行后面所有 case 语句中的语句,除非遇到break;语句跳出switch语句为止。如果常量表达式的量与所有case语句的常量都不相符,就执行default语句中的语句并跳出switch语句。

需要注意的几点:

  1. 只能针对基本数据类型中的整型类型使用switch,这些类型包括int、char等。对于其他类型,则必须使用if语句。
  2. switch()的参数类型不能为实型 。
  3. case标签必须是常量表达式(constantExpression),如42或者’4’。
  4. case标签必须是惟一性的表达式;也就是说,不允许两个case具有相同的值。

试错

switch 里用实型报错:switch quantity not an integer
float型试错
double型试错
switch 里用字符串报错:switch quantity not an integer,如果用 C++ STL 里的 string 类型也是一样的,或者用其他的复杂类型也是报这个错。
字符串试错
case 上用变量报错:the value of ‘n’ is not usable in a constant expression
case里面放变量
case 里的内容出现了重复报错:duplicate case value && previously used here
case里值重复

  • 30
    点赞
  • 43
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值