第1个回答 2010-03-28
只要能计算出最终结果的表达式都可以做switch的参数!
第2个回答 2010-03-28
case后的类型只能是int(或char)或是枚举(或“”引起来的字符串)。. 所以Switch中的类型可以是,int,char,枚举,或是引用类型string
第3个回答 2010-03-28
switch语句的格式为:
switch(条件)语句
其中,条件的类型可以是整数类型,枚举类型,或者类类型(但该类需要有单一的转换到整数类型或(可以是字符类型,但不能是浮点类型、字符串、指针类型等),语句部分不一定非得是一条复合语句。因此,switch("123"[2]+(int)3.1);是条合法的switch语句,switch(j)case 5:i++;也是条合法的switch语句。如果switch的语句部分是一条非复合语句,则其内定义的变量作用域,效果上等同于该条语句加上了{}。如int i=3;switch(i)int i=4;,相当于int i=3;switch(i){int i=4;},因此这并不会导致同一局部域下的重复定义错误。本回答被提问者采纳