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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 李斌 中级黑马   /  2012-5-19 21:05  /  1951 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

原帖请见 http://bbs.itheima.com/thread-14428-1-1.html
我按照 8楼 和 9楼的两个哥们的理解
1. “按照运算顺序,如果只有一个x++,x将在运算后才自增;当存在多个x++参与运算时,最后一个参与运算的x++将在x参与运算后,才自增,
如x+++x+++x++=6+7+5=18,最后一个x在运算和前面做加法运算时,没自增
2. ”x+(++x++);  问题关键是:计算机读取在同优先级时是从左读到右的,也就是先读X然后再读+,这时计算机认为X准备+后面的数据,于是后面 就成为了:
                                                                                            (x+)(++x++) =5+6=11,  ++X大家都应该清楚是属于先加,这点的X是6。后面的++是表达式过后才加,对于结果无影响,忽略掉,后面都如此,不再累述!
                                                                                               所以5+6=11. “     
把那些题目都算 了一下 发现结果完全一致
但是这两种理解方法 是不一样的 不知道到底那种理解才是正确的 实在困惑~~


评分

参与人数 1技术分 +1 收起 理由
攻城狮 + 1 赞一个!

查看全部评分

4 个回复

倒序浏览

回帖奖励 +2

(x+)(++x++) =5+6=11,  ++X大家都应该清楚是属于先加,这点的X是6。后面的++是表达式过后才加,对于结果无影

不能存在++x++这种情况 运算完++X以后 后面的加号会被定义为运算符  也就变成了++x+加号.  是会出错的
回复 使用道具 举报
本帖最后由 贠(yun)靖 于 2012-5-20 12:44 编辑

(x+)(++x)++ =5+6=11  这样的  先自增,再相加  在自增   优先级  前++ 优先于  相加“+”  相加有限限于后++
回复 使用道具 举报
我也是被讲的晕乎乎的
回复 使用道具 举报
贠(yun)靖 发表于 2012-5-20 12:43
(x+)(++x)++ =5+6=11  这样的  先自增,再相加  在自增   优先级  前++ 优先于  相加“+”  相加有限限于后 ...

这么说,就明白多了。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马