gpt4 book ai didi

更改 C 中运算符的优先级

转载 作者:行者123 更新时间:2023-11-30 18:20:28 26 4
gpt4 key购买 nike

由于 && 的优先级比 || 的优先级更高(这是合适的形容词吗?),我写了这样的内容:

if (a || b && c ){ ....

我猜程序会首先找到b && c,我们称之为d,然后找到a || d,对吗?

我希望程序首先检查“a”语句,然后再检查它是否错误;检查 b 和 c。这样的事情可能吗?

最佳答案

C 中的逻辑表达式受 short-circuit evaluation 的约束。现在,正如您所指出的,

a || b && c

相同
a || (b && c)

因为优先级。

但是首先评估a,因为评估顺序是从左到右。由于短路评估,只有当 a 为 false 时,程序才会继续评估 b && c。所以,您的代码已经完成了您想要的操作。

关于更改 C 中运算符的优先级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20886612/

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