0

这个问题是关于理解语言如何解释 if 语句。我知道if(a)检查a.

但是,当我们像这样使用 NOT 运算符时:

if (!a) {
    ...
}

它是否与布尔代数中的 NOT 运算符一样工作,即

----------
| a | !a |
----------
| T |  F |
| F |  T |
----------

并且仍然检查真实性,还是将成功条件更改为现在为假?

这在所有情况下都是无关紧要的,因为无论实现如何都会导致同样的事情发生,但我觉得如果语句/更好地理解它们会帮助我写得更好。

例如,如果我们看下面的 if 语句:

if (!(a && b))

和一个真值表:

----------------------------
| a | b | a & b | !(a & b) |
----------------------------
| T | T |   T   |     F    |
| T | F |   F   |     T    |
| F | T |   F   |     T    |
| F | F |   F   |     T    |
----------------------------

我们可以看到它有点复杂 - 所以知道我是否总是可以依靠真值表来确保我的 if 语句的正确功能将使我不那么困惑。

为了尝试猜测,我想成功条件总是true,并且 NOT 运算符的工作方式与布尔代数 NOT 运算符完全相同,只需反转当前值即可。

这个对吗?

谢谢。

4

1 回答 1

1

逻辑非:

这 '!' 当考虑的条件不满足时,运算符返回 true。否则返回false。

例如,

 !A returns true if A is false, i.e. when A=0.

它总是反转其操作数的逻辑状态。如果条件为真,则逻辑非运算符将使其为假。

于 2018-01-05T04:23:45.157 回答