为什么我不能使用 ||OR C++ Switch 语句中的运算符?
Why can't I use || OR Operator in C++ Switch statement?
我一直在用VB工作。NET很多年了,我喜欢这种语言。现在我把自己分散到c++中,我很难掌握c++的逻辑。
请告诉我任何解决方法。非常感谢!
这是一个相当不清楚的问题,但您可能会问为什么不能这样做:
switch(mynumber) { //assuming an int here
case 1:
printf("Something.");
break;
case 2 || 3:
printf("Something else.");
break;
}
这不会像你期望的那样工作:c++中的||运算符实际上会执行2 || 3
,求值为1
。相反,您可以复制case语句:
switch(mynumber) {
case 1:
printf("Something.");
break;
case 2:
case 3:
printf("Something else.");
break;
}
看起来像VB。. NET支持case语句中的表达式,而c++不支持。
相关文章:
- 多个If语句与使用逻辑运算符计算条件的单个语句的比较
- 三元运算符在返回语句中给出意外的结果
- C++使用逗号运算符的多个控制语句
- 当返回语句时,逗号运算符、大括号初始化列表和 std::unique_ptr 组合在一起
- 是否可以在C++中使用三元运算符在 if 语句中选择比较运算符?
- 在同一语句中重载运算符+多次
- 复制构造函数和复制赋值运算符是否应具有相同的语句?
- c++ 如何计算赋值运算符(if 语句)
- 为什么使用 and 运算符比较 if 语句中的 2 个对象会抛出错误,而使用 2 if 语句则不会
- 在返回语句中嵌套条件运算符
- 为什么 if 语句对于运算符重载函数计算 false
- 使用 if (? 运算符) 语句传递带有指针的数组
- 如何在COUT语句中使用移动运算符
- 在 c++ 中,如何修改运算符以便在同一语句中连续调用它两次
- 我们可以在if语句中使用三元运算符
- 如何修复"运算符不匹配=="比较if语句中的字符串时
- 如何像if语句一样使用三元运算符
- 关于手术室 ( || )运算符和返回语句
- 赋值运算符和条件语句
- 返回语句中的C++11显式转换运算符/构造函数