C++中 string类型 和switch 的问题

2025-02-06 03:52:43
推荐回答(4个)
回答1:

在谭浩强书中对switch后面的“常量表达式”的说明是:
switch后面的括弧内的“常量表达式”,ANSI标准允许它为任何类型。
请注意是ANSI标准。
也就是说你使用的常量表达式 如果可以转换成ANSI那么它就可以为任何类型。
但是如果你使用的是浮点型呢? 请试一试
你的这个题里 请问"ab"这样的string类型转换为ANSI是什么呢?
所以switch后面的常量表达式并不是可以支持任意类型,char 和 int 用switch 比较合适,其他类型不建议使用switch

回答2:

switch控制表达式必须是字符型(char)或者整型(int).希望有所帮助。

回答3:

代码很矛盾,如果第一个switch返回true第二个switch不执行,如果第一个switch返回flase第二个switch就一定返回true,第三个switch永远不被执行.所以你这是一段垃圾代码.有永远执行不到的语句.

回答4:

case后要用常量表达式.