作业帮 > 综合 > 作业

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

来源:学生作业帮 编辑:百度作业网作业帮 分类:综合作业 时间:2024/07/18 11:10:32
设int a=5,b=6,表达式(++a==b--)?++a:--b的值是
设int a=5,b=6,表达式(++a==b--)?++a:--b的值是
最後值为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