已知int a=5,b=5; 则表达式: ++a>b?a:b-->++a?++b:a的值为6。 50

已知inta=5,b=5;则表达式:++a>b?a:b-->++a?++b:a的值为6。为什么... 已知int a=5,b=5; 则表达式: ++a>b?a:b-->++a?++b:a的值为6。为什么 展开
 我来答
游戏龙卷风来了6220
2019-06-05 · TA获得超过958个赞
知道小有建树答主
回答量:1589
采纳率:59%
帮助的人:165万
展开全部
最後值为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
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式