gpt4 book ai didi

c - || 的评估顺序和 && 在 c 中

转载 作者:太空狗 更新时间:2023-10-29 14:50:02 25 4
gpt4 key购买 nike

如果&&的优先级大于||,这段代码是不是应该先求值--b &&++c,这样输出应该是1 2 4 11。不过这里好像短路了给出 1 2 5 10。请帮忙!

int x;
int a=1,b=5,c=10;
x=a++||--b&&++c;
printf("%d %d %d %d\n",x,a,b,c);
return 0;

最佳答案

shouldn't this code evaluate --b && ++c first

No 运算符优先级不影响求值顺序。这只是意味着

a++||--b&&++c

相当于

a++||(--b&&++c)

所以它仍然是首先计算的 a++,从而使语句短路。

关于c - || 的评估顺序和 && 在 c 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10724947/

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