关于#c++#的问题:为什么case这种只能一个一个咧啊 不能用或||

为什么case这种只能一个一个咧啊 不能用或|| 比如说我你打分 9分10的为好电影 不能case 9||10:这样子 具体原因呢

你可以写
case 9:
case 10:
//dosomething
break;
case标签里只能写常量,不可以写表达式
如果你非要写表达式,那不要用switch,用if,else
这就是当时发明c语言的人把switch和if,else的底层逻辑用的是不同的实现导致的,所以必须确定switch的每个标签必须是唯一的,不能重复
如果switch是被翻译成if,else if来执行的,那就不存在问题了

没有什麽具体原因,就是规矩。编译器不认,没办法。
你只能连续写多个case ,然后不加break,这样这些case能执行相同的代码块。
确实不是很方便......