gpt4 book ai didi

c - C 语言中 if (!(-1)) 的计算结果是 true 还是 false?

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

我知道 0 和 NULL 会自行计算为 FALSE,并且我知道负整数或正整数会自行计算为 TRUE。

我的理解是,NOT 操作将在计算表达式后发生,因此 if (-1) 将计算结果为 TRUE,然后应用 ! 操作数表示 NOT TRUE,等于 FALSE。这是正确的操作顺序吗?if (!(-1)) 的计算结果是否为 FALSE

最佳答案

可以通过考虑运算符优先级来计算 if (!(-1)) 的计算结果。

首先,将一元 - 应用于 1,生成整数 -1。然后这个值在逻辑上被 ! 否定。这涉及将 -1 折叠为逻辑值。对于整型来说,C 语言中的规则非常简单:0 为假,其他均为真。

因此 -1 为真,当逻辑否定发生时,我们得到假。

因此,这种说法显然是错误的。

关于c - C 语言中 if (!(-1)) 的计算结果是 true 还是 false?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37871123/

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