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

© 604840337 中级黑马   /  2016-3-27 22:28  /  658 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

求大神帮忙解释一下 为什么i =1,  i=i++     i=1?

3 个回复

倒序浏览
++ 在前,先自加 在运算, ++ 在后,先运算,在自加
回复 使用道具 举报
问题:int a = 10; a = a++; 结果为什么是10? 这个自增操作到底做了吗? ++运算与赋值运算的优先级谁高?
解决:当然是++运算的优先级较高。这个问题要从++(或--)操作的原理解释:因为后置++(或--),会产生一个临时的量,这个临时的量相当于a的一个副本。操作时是将a的值增加1(或减去1),而将副本记录的值返回参与运算。也就是说++操作还是会做的,但a++这个表达式取的结果是a原来的值10,赋值操作又会将原来的值赋给变量a。
回复 使用道具 举报
因为因为先赋值后加1
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马