为什么(不假不真或不假不真)结果为真?

Why does (not false and true or not false and not true) come out to True?

为什么(非假非真或非假非真)出来的是True?

如果我们按顺序求值,从左到右,我们将在末尾有一个 and 语句,结果为 not true。这不应该是假的吗?

因为运算符优先。

查看您所用语言的运算符文档,了解它们的具体规则。但至少在我使用的每种语言中,and 操作优先于 or 操作。

所以这个:

not false and true or not false and not true

与此相同:

(not false and true) or (not false and not true)

not操作的优先级更高,所以现在是一样的:

((not false) and true) or ((not false) and (not true))

减少为:

(true and true) or (true and false)

减少为:

true or false

减少为:

true