在 C 或 C++ 中,在 if 语句中使用
,例如:!(variable)
和 (!variable)
之间是否有决定性的区别
if (!(variable)) { ..//做某事 }
或
if (!variable && !(variable2)) { ..//做某事 }
这样一个版本会提供与另一个版本不同的结果?
最佳答案
一切都与操作顺序有关。使用 !(variable) 将评估括号内的所有条件,然后执行 ! (or NOT) 来确定是否输入 if 语句 where-as (!variable 将专门针对变量本身执行 NOT。
所以在这种情况下:
!(true && false) = true
!(true && true) = false
(!true && !false) = false
(!true && true) = false
!(true && !false) = false
...等等
希望这对您有所帮助。
关于c++ - !(variable) 和 (!variable) 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5820273/