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已验证)
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已验证)