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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 王雷 中级黑马   /  2012-9-20 23:19  /  2419 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

看到有很多问关于
a=6;
a=a++;
输出a为什么是6
这里,a=6,在运行a=a++时,先将a=6存在一个临时空间,然后对a进行+1,在将a存起来的6赋值给a,所以a的输出值为 6

评分

参与人数 1技术分 +1 收起 理由
滔哥 + 1

查看全部评分

4 个回复

倒序浏览
因为a=a++的运算是a先赋值,后运算,因为一开始a=6,所以先把右边a的值赋给左边a的值,打印a的值既为6!毕向东老师的视频,讲过这个地方,具体在02天09章算术运算符,还讲了一个小故事!很容易让人区别a++和++a,建议楼主多看看视频!

评分

参与人数 1技术分 +1 收起 理由
滔哥 + 1

查看全部评分

回复 使用道具 举报
i++就是先赋值了再加,而++i是加了1再赋值
回复 使用道具 举报
吕书凯 发表于 2012-9-20 23:38
一开始a=6,执行a=a++的时候,a++先赋值后运算,把6赋给了a,但是左边也是a,所以赋值过程结束了,a=6就返 ...

b=a++;怎么会是b为7呢?
应该是b=6,a=7;
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马