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。
沒有留言:
張貼留言