gpt4 book ai didi

objective-c - if 条件如何与多个表达式一起使用

转载 作者:太空狗 更新时间:2023-10-30 04:00:58 25 4
gpt4 key购买 nike

我的“if 条件”如下所示,

if (expression1 || expression2) {
// do something
} else {
// do something
}

我的问题是,如果 expression1 得到满足,则代码流转到 else 部分或 expression2 得到检查然后转到 else 部分。

最佳答案

在大多数语言中,包括 Objective C,|| && 是短路运算符只要不再需要检查这些运算符的参数,就不需要检查。因此,如果表达式 1 为真,则整个表达式:

if (expression1 || expression2)

确定为 true 为:

如果(真或 X)

根据定义为真,因此不需要检查 X 的值。这种短路行为显然取决于第一个变量的值。如果我们有:

if(false || X)

我们必须检查 X 的值才能评估整个表达式。同样,如果我们有:

if(true && X)

我们需要先检查 X 的值,然后才能确定表达式的计算结果是否为真。但是,如果我们有:

if(false && X)

我们知道整个表达式无论如何都是假的,所以 X 不需要检查 - 在许多语言中,它不会。

即使 X 是一个本身由多个变量组成的复合语句,以上几点也是正确的。所以在:

if (true || (expression2 || expression3))

(expression2 || expression3) 部分不需要计算,因为无论 expression2 和 expression3 的计算结果如何,整个语句仍然为真。

关于objective-c - if 条件如何与多个表达式一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20948668/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com