2012年3月14日 星期三

i++;++i


i++是先取值後+1,++i是先+1後取值,所以i=i++當然是1;i=++i當然是2。



i++ 經過compiler的動作:
temp = i
i = i+1
return temp
------------------------
++i 經過 compiler 的動作:
i = i+1
return i

一般的做法是: 可能的話, 用 ++i; 有需要的話才用 i++;
Use ++i if possible; use i++ if necessary.

int i=1;
i=i++ - ++i  
i++ - ++i ,先做減號左邊值為1,做完此時i為2;再做右邊2先加1再取值得到3。1-3就等於-2。

沒有留言:

張貼留言