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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 郭孟涛   /  2013-6-20 16:46  /  5504 人查看  /  28 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

sunriselzz 发表于 2013-6-20 21:08
a = a++这个写法没有错误的,++在后,先把a之前初始化的值5赋值给左边的a,先打印输出a的值5,然后再自加+1,也 ...

应该是a先自增为6,然后被覆盖了的过程,
回复 使用道具 举报

回帖奖励 +2

尹桥印 发表于 2013-6-20 17:17
这题还得细细思考

a=a++
这时候前面的a表示的是另一个变量
然后因为加号在后边,语句会先把后边的a赋值给前边的a,之后再执行+1......

大概意思就是这个吧{:2_32:}

评分

参与人数 1技术分 +1 收起 理由
孙百鑫 + 1

查看全部评分

回复 使用道具 举报

回帖奖励 +2

这个a的问题,为了方便记忆,这样理解吧。a=a++;//两个a很靠近,可以理解成右边的a先赋值给左边的a再自增;a=++a;//两个a离的较远,理解成右边的a先自增再赋值给左边的a。写代码的时候,如果容易出错,还是写成"a++;"或者"++a"都可以{:3_57:}
回复 使用道具 举报

回帖奖励 +2


楼主的问题很好,也同时解决了我还不懂的问题
受益匪浅,
回复 使用道具 举报

回帖奖励 +2

顺序问题吧!!!
回复 使用道具 举报

回帖奖励 +2

a=a++,试讲a值赋给a,再进行自增;a=++a,是将a自增,得到a+1,再赋给a。
回复 使用道具 举报

回帖奖励 +2

这个必须是累加的顺序不同而导致结果不同啊
回复 使用道具 举报

回帖奖励 +2

先把a赋值给等号前面的a,再将本身加1;" --->>这样说的话, a还是要加1的啊,, 怎么输出5.
回复 使用道具 举报

回帖奖励 +2

楼下的分析都很详细 看懂了
回复 使用道具 举报
12
您需要登录后才可以回帖 登录 | 加入黑马