gpt4 book ai didi

c - && 优先于 ||

转载 作者:太空狗 更新时间:2023-10-29 16:45:43 30 4
gpt4 key购买 nike

<分区>

据我所知,逻辑运算符 && 的优先级高于 ||。运行代码:

#include <stdio.h>

int main()
{
int i = 1, j =1, k = 1;

printf("%d\n",++i || ++j && ++k);
printf("%d %d %d",i,j,k);

return 0;
}

给出输出:

1
2 1 1

只有在 ++i || 时才有可能++j &&++k 是这样计算的:

(++i) || (++j && ++k)

但是,根据运算符优先规则,它应该被评估为:

(++i || ++j) && (++k)

因此输出应该是:

1
2 1 2

这是怎么回事?

注意:根据我的理解,我认为更高优先级的运算符计算如下(如果它是左结合):
1. 评估其左表达式
2. 然后评估其正确的表达式(如果需要)

我错了吗?

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