1樓:匿名使用者
如果迴圈種子(i)是byte,則步長也應該是byte,
但-1轉換為byte會溢位(byte的取值範圍是0-255)
下面這樣可以
dim i as byte
for i = 2 to 10 step 1
next i
注意,for迴圈在過程中是迴圈種子和步長相加
下面是msdn的解釋
進入迴圈。當開始執行 for...next 迴圈時,visual basic 將計算start、end 和 step(僅此一次)。
然後將 start 賦予 counter。執行語句塊之前,它先將 counter 與 end 進行比較。如果 counter 已經超過了結束值,則 for 迴圈終止,並且控制將傳遞給 next 語句後面的語句。
否則,將執行語句塊。
迴圈的迭代。每次 visual basic 遇到 next 語句時,都按 step 遞增 counter,然後返回到 for 語句。它再次將 counter 與 end 進行比較,並再次根據結果執行塊或者終止迴圈。
這一過程將一直持續下去,直到 counter 傳遞 end 或者遇到 exit for 語句為止。
迴圈的終止。在 counter 傳遞 end 之後,迴圈才會終止。如果 counter 等於 end,則迴圈繼續。
如果 step 為正數,確定是否執行迴圈**塊的比較運算將為 counter <= end;如果 step 為負數,則為 counter >= end。
更改迭代值。如果在迴圈內更改 counter 的值,將會使**的閱讀和除錯變得更加困難。更改 start、end 或 step 的值不會影響首次進入迴圈時所確定的迭代值。
2樓:秋色烽火
必要引數。用做迴圈計數器的數值變數。這個變數不能是布林或陣列元素。
數值變數
3樓:
我也試過,如果迴圈為1 to 10是沒有問題的,i的型別為byte,只有步長為-1,即遞減迴圈時才會overflow,不清楚原因.但並不是byte不能做迴圈變數.
或者是迴圈變更的減法與普通減法運算不太一樣吧.
你就直接把i定義為integer型別就沒有問題了.
C語言,迴圈巢狀問題,迴圈語句的巢狀
第乙個for的主體是大括號括起來的那一大段,而第二個for的主體只有那個輸出空格的那一行,且輸出的空格數隨i的增大而減少。希望你能看懂,不過說實在的,如果這個題都看不懂的話,你學程式設計可能還是少了點天賦。記得喲。for i 1 i 5 i 迴圈5次,i從1到5for j 1 j 5 i j pri...
C 迴圈語句break問題,C 迴圈語句
continue是跳過當次迴圈,執行下一次迴圈替換方案 1 break調多層迴圈好像和編譯器有關,沒有找到解決方案,你可以將switch完後要執行的語句放到while迴圈開頭,加乙個if判斷第一次進迴圈不執行,最後一次進迴圈彈出while,while迴圈多加一次,把switch裡的break換成co...
C語言「迴圈控制」問題,c語言迴圈控制問題,線上等
建議你問問題時分開問 一題一題問,除非你給的分數夠多 不然很少人會幫你解答 太多了。因為do while 是先執行 再判斷的 do模組為執行模組 while 為判斷模組 所以 1 執行次數為 2while 迴圈剛好相反 只是去除了 do而已 1 do while至少執行一次 2 i 是先使用後減1,...