case后面的值是在编译时候就要确定的,所以只能是常量,但不一定非得是1,2,3之类的数字只要可以确定值就可以,比如(2+4)*3或不等式:2<5 (这个不等式的值实际上是1)当然也可以出现你说的ch>'A'&&ch<'Z'但前提是ch必须定义成const类型如const ch='B';你可以编程实践下还有问题再交流
不行,多数语言的switch后只能接一个常量(据我所知,只有Ruby除外)从底层上解释,这样可以生成一个快速的查找表