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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

上了基础班一段时间我的同桌是一个喜欢上网研究怪题的人他给了我一道题int x =5;x=x+(x++)+(++x);后x的值是多少?我直接说是19他告诉我是17,我愣了一下仔细看了一下发现是17,而且很简单:计算机内部的加法器,只能让两个数相加,那么上述的式子就可以拆解成x=x+(x++)分割+(++x); 对于前半部分很好理解,x=x+x=5+5,内存中x=x+1。x=6。。后半部分++x,先增一在使用,内存中x=x+1。x=7。 最终x=5+5+7=17。这个用来坑初学者是个很好的东西,同时引发了我对编程学习的思考,我在学习编程的时候很多时候还是习惯性的按照以前数学的习惯来思考,这是不对的,应该习惯用编程的规则来看待问题,不知道有没有和我一样的初学者

4 个回复

倒序浏览
不是5+6+6么。。
回复 使用道具 举报
学习了 谢谢分享
回复 使用道具 举报
恩  是的.....
回复 使用道具 举报
问一下运算的时候不是先算括号里面的吗?最后再加上x???
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马