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

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

最佳回答

幽默的哈密瓜,数据线

纯情的月饼

2026-03-30 10:24:49

++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-03-30 10:24:49

    ++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