黑马程序员技术交流社区

标题: a=a++;的理解 [打印本页]

作者: yoghurt29    时间: 2016-4-27 12:18
标题: a=a++;的理解
int a=1;
a=a++;
print(a);
结果是1.
中间有一句a++,照理说无论什么时候执行a都得加1
事实上执行流程是
先执行a++
这时a等于2
然后执行赋值
a++这个表达式的值是1
所以a又回到1
输出1
作者: 320215787    时间: 2016-4-27 12:18
奥奥,第一眼以为是2呢,原来如此
作者: xiaogui    时间: 2016-4-27 12:21
涨姿势!!!
作者: 314839987    时间: 2016-4-27 13:03
其实没这么复杂
++在后面的话 , 先赋值给a了 , 所以结果是1 , 后面的++跟输出的结果没什么关系了(因为他是一条语句,已经赋值给a了)
++在前面的话 , 先自增再赋值给a , 所以结果是2

作者: 木辰    时间: 2016-4-27 14:31
不错不错!
作者: yoghurt29    时间: 2016-4-27 17:32
很好很好,黑马币是还不够啊
作者: 00零度00    时间: 2016-4-27 19:01
本来还明白,一看有点蒙




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