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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© liyuehua 中级黑马   /  2015-3-22 19:31  /  1322 人查看  /  12 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

int x =5;
x=x+(x++)+(++x);
后x的值是多少?
java,C++执行结果不一样,这是为什么呢

评分

参与人数 2技术分 +1 黑马币 +15 收起 理由
2682535a + 15 很给力!
lwj123 + 1 很给力!

查看全部评分

12 个回复

倒序浏览
x=5+(5)+(5+1+1)=19
x++时计算还是5,之后自增加1是6,再进行++x运算,就是6+1
至于c++的运算结果不同我也没学过
回复 使用道具 举报
17,(5+5+6)+1
回复 使用道具 举报
x = ((5 + 5)+1)+((5+1)+1)
回复 使用道具 举报
17。。。测试了一下  x=x+(x++) 是11 x=(x++)+(++x)  是12
回复 使用道具 举报
好好加油 多敲代码不理解的问老师
回复 使用道具 举报
sisel 中级黑马 2015-4-12 16:45:30
7#
编译器实现不一样,实际环境中这么写代码的一棒子敲死
回复 使用道具 举报
领教了。。
回复 使用道具 举报
应该是17吧,C++不知道呢
回复 使用道具 举报
6+6+7=19.这才是真确的答案啊
回复 使用道具 举报
java中,x的值是5+5+6
回复 使用道具 举报
部队不对,是算完后还的+1吧。。x++是后面计算的,会在全部算完后计算x++,然后再赋值前把x++算了,但是括号。。好吧,我比较菜,不懂怎么说
回复 使用道具 举报
java:5+5+7=17
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马