我想询问一下:switch 语句时,case后面只能接常量么? 例如case 3:…… case后面能接不等式的吗?例如

2024-11-23 04:18:54
推荐回答(2个)
回答1:

case后面的值是在编译时候就要确定的,所以只能是常量,但不一定非得是1,2,3之类的数字
只要可以确定值就可以,
比如(2+4)*3
或不等式:2<5 (这个不等式的值实际上是1)
当然也可以出现你说的
ch>'A'&&ch<'Z'
但前提是ch必须定义成const类型

const ch='B';
你可以编程实践下
还有问题再交流

回答2:

不行,多数语言的switch后只能接一个常量(据我所知,只有Ruby除外)
从底层上解释,这样可以生成一个快速的查找表