一般學過c語言的人都知道,i++是在迴圈中使用後進行加一操作,而++i是在使用前進行加一操作。所以在使用時稍不注意就會造成不必要的麻煩,本人在寫乙個簡單的順序表的時候,由於沒有使用while迴圈而改用for迴圈,所以不小心踩了坑。特此記錄一下,提醒自己。
我在建立順序表的時候,寫了乙個創造函式
試圖通過i的值直接指定線性表的長度而不用再定乙個變數,現在假定我輸入的引數中n等於5.按道理在for迴圈之後,i的值應該為4,所以線性表的長度為i+1才對。可是我寫為i+1時卻發現結果是錯誤的。經過除錯後發現,i的值最後直接為5.
也就是說,在for迴圈過後,i的值進行了加一的操作,是因為我在for迴圈裡寫了i++.所以在最後一次用i的時候,i的值為4.隨後使用後進行了加一。所以才會出現這樣的結果。建議大家在迴圈中要用到i值的時候都使用while迴圈,避免不必要的麻煩和問題。
順便一提,如果在for迴圈中使用++i,便會在使用之前進行加一,道理上和上述的i++一樣,所以只要知道i++的問題,對於++i的問題也是同理,這裡就不再贅述了。
for迴圈中的i 與 i
今天遇到乙個for迴圈 for i 1 i 1 i 其中使用的是 i,我以為 i會先於判斷執行,就上網找了找i 與 i的區別。答案很少,有乙個說的是效率後者高一些。然後我又寫了乙個測試的 var j 0 for i 1 i 1 i,j console.log console.log i,j 發現 是...
for迴圈中 i和i 的區別
語法 for 語句1 語句2 語句3 語句 1 在迴圈 塊 開始前執行 語句 2 定義執行迴圈 塊 的條件 語句 3 在迴圈 塊 已被執行之後執行 這就是迴圈中的 i和i 結果一樣的原因,但是效能不一樣,稍後解釋 語句1 同上面語法中的 語句1 語句1 是可選的,也就是說不使用語句1 也可以。var...
for迴圈中 i和i 的區別
for 語句1 語句2 語句3 語句 1 在迴圈 塊 開始前執行 語句 2 定義執行迴圈 塊 的條件 語句 3 在迴圈 塊 已被執行之後執行 前者是 先引用,後增加,int i 10 system.out.println i 此時輸出的是10以上 等價與 int i 10 system.out.pr...