Luar's Flash Playground:i++ 和 ++i 的分別
i++ 和 ++i 的分別 (12-05-2003)
先不要打開Flash,請嘗試想想以下程序,最後k會等於什麼?想到答案後,才用Flash執行一次,核證一下。
for (i=0, k=0; i<5; i++) {
    k += i++;
}
trace(k);
為什麼答案不是你想那個?還看《閃客實戰》第82頁的解釋。
本文章由發表。
意見
"; print "沒有意見。
 "; } ?>
  • 我想主要是 k+=i++ 這段
    k會先加上舊的i值。
    第一次執行時 k+=0 i=1
    第二次執行時 k+=1 i=2
    第三次執行時 k+=2 i=3
    第四次執行時 k+=3 i=4
    所以答案是6

    由jawa於17-07-2003發表

  • 不明意思 

    由並州一號於24-08-2003發表

  • k=i++是i先賦值再自加
    k=++i是i先自加再賦值

    由並州一號於27-09-2003發表

  • 15

    由馬百達於03-10-2003發表

  • 6la

    由lives於12-10-2003發表

  • 分別trace(i++)及trace(++i)應該就能明瞭了吧。

    由maso於19-10-2003發表

  • 我想应该是 10
    k=0,i=0,k=I++ > k=0,i=1
    k=0,i=1,k=i++ > k=1,i=2
    k=1,i=2,k=i++ > k=3,i=3
    k=3,i=3,k=i++ > k=6,i=4
    k=6,i=4,k=i++ > k=10,i=5
    循环终止

    由刘封天於13-10-2004發表

同組文章