为什么 if (a == b || c) && (d != 0) {操作 1} 默认运行,但 (a == e || f ) && (d!= 0) {op2} 被忽略?
why does if (a == b || c) && (d != 0) {operation 1} run by default but (a == e || f ) && (d!= 0) {op2} get ignored?
所以,我正在运行一些代码并让它工作,但我有两个 if else 语句。
比方说
if (( a == 'b'||'c') && (d!=0)) {
// do operation1;
} else if (( a == 'e'||'f') && (d!=0)) {
// do operation2;
}
当我的代码以这种方式构建时,操作 1 默认运行。我默认是什么意思?如果我尝试输入"e"或"f",它将执行操作 1,就像我输入"b"或"c"一样 但后来我尝试了一些不同的东西。
if ((a == 'b') || (a == 'c') && (b != 0)) {
// do operation 1;
} else if ((a == 'e') || (a == 'f') && (b!= 0)) {
// do operation 2;
}
请参阅现在操作 1 和 2 按预期工作。
为什么会这样?
a == 'e'||'f'
没有做你认为它正在做的事情。"f"作为布尔值,因为它大于值 0,将始终被视为 true。请尝试以下操作。
a == 'e' || a == 'f'
您那里的两组代码之间的最大区别不是(括号(,而是"=="的使用。
相关文章:
- 运行同一解决方案的另一个项目的项目
- CMake-按正确顺序将项目与C运行时对象文件链接
- 如何运行位于boost/libs/python/example/tutorial目录中的hello.cpp和Jamfil
- 代码在main()中运行,但在函数中出现错误
- 我在c++代码中生成了一个运行时#3异常
- 如何在linux终端中同时编译和运行c++代码
- 为什么在运行时没有向我们提供有关分段错误的更多信息?
- 如何在运行中期切换GTK CSS style_context
- 如何在MS Visual Studio 2019中运行QT UI
- 如何通过cpp程序运行shell脚本
- IPC使用多个管道和分支进程来运行Python程序
- 删除指向指针的指针是运行时错误吗
- 如何用参数值调用函数(仅在运行时已知)
- 为什么即使使用-cudart-static进行编译,库用户仍然需要链接到cuda运行时
- 是否可以在编译时初始化数组,以便在运行时不会花费时间?
- c++中的指针和运行时错误
- 在C应用程序中运行C++(带有STL)函数
- 运行程序时出现问题
- 控制允许动态运行c++的并发操作数
- 为什么 if (a == b || c) && (d != 0) {操作 1} 默认运行,但 (a == e || f ) && (d!= 0) {op2} 被忽略?