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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

不多说,看见一个蛋疼的题目:关于x=x+(x++)+(++x)问题,这道题到底是17?18?19?答对有奖。。。。。奖品丰厚的说
更多图片 小图 大图
组图打开中,请稍候......

8 个回复

倒序浏览
我知道java的就对了    17
回复 使用道具 举报
17还是19是个问题...话说18应该是编译软件出错了吧
回复 使用道具 举报
x的初始值是5
x+(x++)是x++中的x先和前面的x进行运算然后自身再加1,也就是5+5之后,x自增1变成6.
x+(x++)+(++x)中的++x是x先自增1再和前面的表达式进行运算,因为之前x已经变成了6,现在再自增1就变成了7,也就是5+5+7=17.
回复 使用道具 举报 1 0
你这是什么语言都有
回复 使用道具 举报
x初始值都没有,这个鬼知道
回复 使用道具 举报
17 这么简单,以前有老师专门说过这问题哈哈
回复 使用道具 举报
这题就是17.不过还要说下运算符的优先级,+号是从左到右,++自增是从右到左,至于x++是表达式而非变量它的返回值是x+1;这样就算出答案是17了!
回复 使用道具 举报
你们在哪看到初始值的
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马