gpt4 book ai didi

c - || 的优先级C 中的 and && 运算符

转载 作者:行者123 更新时间:2023-11-30 21:35:33 25 4
gpt4 key购买 nike

#include <stdio.h>
int main()
{
int i=-3,j=2,k=0,m;
m = ++i || ++j && ++k;
printf("%d %d %d %d", i, j, k, m);
}

输出:

-2 2 0 1

为什么表达式应该是 m=++i||++j&&++k ;未解析为 m=++i||(++j&&++k)因为 && 的优先级高于 || ??

最佳答案

||&& 是短路运算符。如果从左操作数计算最终结果,则计算右操作数。

++i ||  /* Evaluate ++i which is -2, so the result of expression is 1 */
++j && ++k; /* No need to evaluated this */

关于c - || 的优先级C 中的 and && 运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30452601/

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