++i

来源:互联网 发布:唐人福无糖食品 知乎 编辑:程序博客网 时间:2024/04/28 11:49

nvidia 笔试题

i = 3

j= (++i)+(++i)+(++i)

经过gcc、vc++6.0、arm-linux-gcc验证,结果是:

i = 6

j = 16

编译器对j的计算顺序如下:
j=(((++i) + (++i)) + (++i))


ARM汇编代码如下:



所以

i = 3

j=(++i)+(++i)+(++i)+(++i)

的结果应该就是

i=7

j=((5+5)+6)+7 = 23

(gcc已验证)


原创粉丝点击