【发布时间】:2018-03-08 16:59:24
【问题描述】:
假设我有以下通用语言代码:
a = 1
b = 2
IF a == 3 AND b == 2:
do something
ELSE:
do something
如果 a == 3 为假,则程序不需要检查第二部分,因为任何 n 值都会导致结果为假。
与或的方式相同:
a = 1
b = 2
IF a == 1 OR b == 3:
do something
ELSE:
do something
如果 a == 1 为真,则程序不需要检查 b == 3 是否为真。
我想知道在这些情况下程序是否在第一部分停止。
【问题讨论】:
-
这取决于您使用的语言。在这种情况下,大多数编程语言不会评估条件的第二部分,但有些可能会。
-
您有任何参考/文档可以证明这一点吗?我找不到
-
根据您使用的语言,程序甚至可能不会进行第一次检查,因为如果代码被编译,整个 if-else 可以与
a和 @987654325 一起优化@,所以程序中只剩下一个do something。
标签: if-statement logical-operators boolean-logic