VB for迴圈的問題

2022-07-29 18:20:07 字數 1110 閱讀 3544

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,...