设int a=5,b=6,表达式(++a==b--)?++a:--b的值是

学习 时间:2026-04-02 19:22:56 阅读:6602
设int a=5,b=6,表达式(++a==b--)?++a:--b的值是

最佳回答

怕孤单的长颈鹿

落后的发箍

2026-04-02 19:22:56

最後值为7,这是一个if语句,就是int a=5,b=6;if(++a==b--) ++a;else --b;++ar的规则是先运算,所以括号中左值++a=6,a=6;==的优先级低过--,所以先计算b--b--的规则是先赋值,所以括号中右值b--=6,b=5;左值6==右值6,即条件为真,执行++a,因为a值已是6, 所以加1操作後,结果为 7 再问: 左等于6,右等于5,怎么会相等? 再答: 最後值为7,这是一个if语句,就是 原程序等價: int a=5,b=6; if(++a==b--) ++a; else --b; ++a的规则是先运算++a=6,所以括号中左值,a=6; ==的优先级低过--,所以先计算b-- b--的规则是先赋值b--=6,所以括号中右值,b=5; 左值6==右值6,即条件为真, 执行++a,因为a=6, 所以工a+1=7, 结果为 7

最新回答共有2条回答

  • 痴情的哑铃
    回复
    2026-04-02 19:22:56

    最後值为7,这是一个if语句,就是int a=5,b=6;if(++a==b--) ++a;else --b;++ar的规则是先运算,所以括号中左值++a=6,a=6;==的优先级低过--,所以先计算b--b--的规则是先赋值,所以括号中右值b--=6,b=5;左值6==右值6,即条件为真,执行++a,因为a值已是6, 所以加1操作後,结果为 7 再问: 左等于6,右等于5,怎么会相等? 再答: 最後值为7,这是一个if语句,就是 原程序等價: int a=5,b=6; if(++a==b--) ++a; else --b; ++a的规则是先运算++a=6,所以括号中左值,a=6; ==的优先级低过--,所以先计算b-- b--的规则是先赋值b--=6,所以括号中右值,b=5; 左值6==右值6,即条件为真, 执行++a,因为a=6, 所以工a+1=7, 结果为 7

上一篇 六年级下册语文同步基础训练21课答案

下一篇 The wood was so rotten that when we pulled,it --------- into