++i 与 i++ 恼人的地方

2016-08-24  本文已影响0人  mcmck

int j = 0; j=++j  +  j++  +  j++  +  j++ 求j值

 这是一个曾经让我钻井死胡同的问题 

i++ 与 ++i 的主要区别有两个:

1、 i++ 返回原来的值,++i 返回加1后的值。

2、 i++ 不能作为左值,而++i 可以。

tem = (++j) + (j++) + (j++) + (j++);

执行到:

第一个括号: tem == 1; j==1;

第二个括号: tem== 2; j==2;

第三个货号: tem == 4; j==3;

第四个括号: tem == 7; j==4;

最后:

j = tem;

相关例子:

int k = 0;

k = k++ + k++ + k++ ++k;

求k值

上一篇 下一篇

猜你喜欢

热点阅读