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。这个用来坑初学者是个很好的东西,同时引发了我对编程学习的思考,我在学习编程的时候很多时候还是习惯性的按照以前数学的习惯来思考,这是不对的,应该习惯用编程的规则来看待问题,不知道有没有和我一样的初学者

5 个回复

正序浏览
学习了,真的如楼主所说
回复 使用道具 举报
个人有个人的理解方式。只要是正确的,都没有错。知道怎样用就好了!
回复 使用道具 举报
总结的非常好
回复 使用道具 举报
没出错啊。。。。。。。
回复 使用道具 举报
仔细看看就不会出错了  基本的东西一定要牢固  不然以后怎么办3  空有理论没有实践真的不行
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马