A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 善良的禽兽 中级黑马   /  2015-9-23 21:41  /  507 人查看  /  11 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文



                麻烦各位大哥给小弟讲解一下下面表达式的运算流程以及y的结果, 感激不尽
                           int x = 4;
                        int y = (x++)+(++x)+(x*10);

11 个回复

倒序浏览
沙发,从左到右计算,4+6+6*10=70
回复 使用道具 举报
int y=(x++)+(++x)+(x*10);(4)+(6)+(6*10)=70.
回复 使用道具 举报
4+6+60=70 就是这样
回复 使用道具 举报
(x++)  把4 先赋值给x   再自行+1   值为4
(++x)上个值自行+1的结果为5  先自行+1 再赋值  值为 6
(x*10)上个值为6    6*10=60
(x++)+(++x)+(x*10)=4+6+60=70
回复 使用道具 举报
(x++)  把4 先赋值给x   再自行+1   值为4
(++x)上个值自行+1的结果为5  先自行+1 再赋值  值为 6
(x*10)上个值为6    6*10=60
(x++)+(++x)+(x*10)=4+6+60=70
回复 使用道具 举报
结果是:70

x++是先进行运算,后自增.所以x参与运算的值是4. 在进行x++. 自增后x=5.

++x是先自增,后进行运算.所以参与运算x的值为6.

所以: (x++)+(++x)+(x*10)=4+6+60=70
回复 使用道具 举报
ksh 中级黑马 2015-9-23 21:58:59
8#
-------------------------70
回复 使用道具 举报
从左到右计算,4+6+6*10=70
回复 使用道具 举报

(x++)  把4 先赋值给x   再自行+1   值为4
(++x)上个值自行+1的结果为5  先自行+1 再赋值  值为 6
(x*10)上个值为6    6*10=60
(x++)+(++x)+(x*10)=4+6+60=70
回复 使用道具 举报
从左到右计算,4+6+6*10=70  要搞清x++ 和++x 的区别
回复 使用道具 举报
6666666666{:2_38:}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马