执行下列语句的输出结果(C语言题目)

学习 时间:2026-05-30 15:19:43 阅读:1520
执行下列语句的输出结果(C语言题目)int a,b,c;a=b=c=1;++a||++b&&++c看不懂为什么是这样的.

最佳回答

落后的钢笔

含蓄的玫瑰

2026-05-30 15:19:43

++a||++b&&++c因为&&的优先级比||高,所以上式相当于++a||(++b&&++c)或的两旁只要一个为真整个表达式就是真,所以计算++a后a为2为真,就不再计算逻辑或之后的表达式了,故b与c的值仍是1,如果改为(++a||++b)&&++c则a=2,b=1,c=2,逻辑与符号要求两边表达式值都为真时表达式值为真,所以左边(++a||++b)的逻辑或表达式,++a为2值为值,(++a||++b)表达式为真,b没有参与自增,逻辑与右边++c为2为真,这时才能得出整个表达式值为真,所以a=2,b=1,c=2希望能够帮到您。

最新回答共有2条回答

  • 健壮的豆芽
    回复
    2026-05-30 15:19:43

    ++a||++b&&++c因为&&的优先级比||高,所以上式相当于++a||(++b&&++c)或的两旁只要一个为真整个表达式就是真,所以计算++a后a为2为真,就不再计算逻辑或之后的表达式了,故b与c的值仍是1,如果改为(++a||++b)&&++c则a=2,b=1,c=2,逻辑与符号要求两边表达式值都为真时表达式值为真,所以左边(++a||++b)的逻辑或表达式,++a为2值为值,(++a||++b)表达式为真,b没有参与自增,逻辑与右边++c为2为真,这时才能得出整个表达式值为真,所以a=2,b=1,c=2希望能够帮到您。

上一篇 小学课本描写冬天的古诗

下一篇 配平Fe3O4+HCl+Cl2=FeCl3+H2O+O2