黑马程序员技术交流社区

标题: 关于i=i++的问题 [打印本页]

作者: 604840337    时间: 2016-3-27 22:28
标题: 关于i=i++的问题
求大神帮忙解释一下 为什么i =1,  i=i++     i=1?
作者: 潘耿威    时间: 2016-3-27 22:32
++ 在前,先自加 在运算, ++ 在后,先运算,在自加
作者: SuperHan    时间: 2016-3-27 22:35
问题:int a = 10; a = a++; 结果为什么是10? 这个自增操作到底做了吗? ++运算与赋值运算的优先级谁高?
解决:当然是++运算的优先级较高。这个问题要从++(或--)操作的原理解释:因为后置++(或--),会产生一个临时的量,这个临时的量相当于a的一个副本。操作时是将a的值增加1(或减去1),而将副本记录的值返回参与运算。也就是说++操作还是会做的,但a++这个表达式取的结果是a原来的值10,赋值操作又会将原来的值赋给变量a。
作者: 伊乐杰    时间: 2016-3-27 22:59
因为因为先赋值后加1




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2