注册 登录
编程论坛 IT职场

看到一个面试题目里面有什么猫腻呢?求指点

Vitens 发布于 2013-04-28 17:33, 180 次点击
题是int i=1;int j=i++ +i++ +i++;j=? 请回答
7 回复
#2
Susake2013-04-28 17:37
kk...

[ 本帖最后由 Susake 于 2013-4-28 18:08 编辑 ]
#3
Vitens2013-04-29 17:09
回复 2楼 Susake
说真的我挺好奇的,知道的话不妨说来听听
#4
漂流瓶儿2013-07-06 09:56
j=3
#5
java小蚂蚁2013-08-11 00:09
j=6
这里面就是一个优先级的问题,还有就是int型。
下面一步步分析
int j=i++ +i
首先j=i++如果到这里就停下了,那么j还是等于1.但是后面还有一个加好,就还要运算,所以j=i++ +i到这里就是i++运算了一次,+i运算一次j也就等于1+2=3了。
再走
j=j=i++ +i++ 到这里结束就像我上面说的,最后一个++是没有运算的。所以还是3
再走同样的循环哈
int j=i++ +i++ +i
又加上一个到这里之前的++就运算了。就是1+2+3=6
后面那个没有运算。如果还加的话就一次循环,下一个就是j=10了
#6
embed_xuel2013-08-18 20:29
哪个奇葩公司的面试题?
#7
我叫沃恩2013-08-27 21:50
C这么有趣,,
#8
又一轮明月2013-11-13 18:58
似乎是3吧,我刚才在vc中运行了一下;
1