若有int m=5.y=2;则执行表达式y+=y-=m*=y后y的值是?y的值是-16 .

[复制链接]
查看11 | 回复1 | 2012-10-5 09:00:04 | 显示全部楼层 |阅读模式
等号是从右向左结合的y+=y-=m*=y可以分解成3个表达式首先,m*=y,经过计算,m=10,y=2,m*=y表达式的值为10然后,y-=(m*=y),因为y=2,m*=y表达式的值为10,因此等价于y -= 10,所以y=-8 。y-=(m*=y)表达式的值就是-8最后 y+=(y-=m*=y),因为y-=(m*=y)表达式的值就是-8,因此等价于y+=-8,因为y=-8,所以最后的值就是-16 这个问题的关键其实是要理解表达式的值这一概念,理解它,自然就会了。关于表达式的概念,你可以上网搜一下...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行