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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© yoghurt29 中级黑马   /  2016-4-27 12:18  /  595 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

int a=1;
a=a++;
print(a);
结果是1.
中间有一句a++,照理说无论什么时候执行a都得加1
事实上执行流程是
先执行a++
这时a等于2
然后执行赋值
a++这个表达式的值是1
所以a又回到1
输出1

6 个回复

倒序浏览
320215787 来自手机 中级黑马 2016-4-27 12:18:59
沙发
奥奥,第一眼以为是2呢,原来如此
回复 使用道具 举报
xiaogui 来自手机 中级黑马 2016-4-27 12:21:47
藤椅
涨姿势!!!
回复 使用道具 举报
其实没这么复杂
++在后面的话 , 先赋值给a了 , 所以结果是1 , 后面的++跟输出的结果没什么关系了(因为他是一条语句,已经赋值给a了)
++在前面的话 , 先自增再赋值给a , 所以结果是2
回复 使用道具 举报
不错不错!
回复 使用道具 举报
很好很好,黑马币是还不够啊
回复 使用道具 举报
本来还明白,一看有点蒙
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马