for (i=0, k=0; i<5; i++) { k += i++; } trace(k);
我想主要是 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發表