VB中for語句等重的巢狀語句的執行順序問題

時間 2022-03-23 20:24:50

1樓:匿名使用者

'lz你認真按我的要求做,對它的執行順序就一目瞭然了!

'1、在窗體上畫一個列表框(listbox),一個按鈕(commandbutton)

'2、貼上以下**之一

'3、執行並單擊按鈕,執行的順序就在列表框,這樣你就可以清楚地看到「for語句等重的巢狀語句的執行順序」了

'**1:

private sub command1_click()

for i = 1 to 4

list1.additem "i的第(" & i & ")次迴圈開始"

next k

list1.additem " j的第(" & j & ")次迴圈結束}"

next j

list1.additem "i的第(" & i & ")次迴圈結束}"

list1.additem ""

next i

print x

end sub

'**2(比以上更詳細的):

private sub command1_click()

for i = 1 to 4

list1.additem "i的第(" & i & ")次迴圈開始"

next k

list1.additem " j的第(" & j & ")次迴圈結束}"

next j

list1.additem "i的第(" & i & ")次迴圈結束}"

list1.additem ""

next i

print x

list1.additem "print x' x=" & x

end sub

'**3(具體到每一句及相關數值):

private sub command1_click()

for i = 1 to 4

list1.additem "for i = 1 to 4' (i=" & i & ")"

x = 4

list1.additem " x = 4' (x=" & x & ")"

for j = 1 to 3

list1.additem " for j = 1 to 3' (j=" & j & ")"

x = 3

list1.additem " x = 3' (x=" & x & ")"

for k = 1 to 2

list1.additem " for k = 1 to 2' (k=" & k & ")"

x = x + 6

list1.additem " x = x + 6' (x=" & x & ")"

list1.additem " next k' (k=" & k & ")"

next k

list1.additem " next j' (j=" & j & ")"

next j

list1.additem "next i' (i=" & i & ")"

list1.additem ""

next i

print x

list1.additem "print x' x=" & x

end sub

'思路:當程式執行到i迴圈後,程式試圖執行完i的每一次迴圈,

'但當它執行i的第一次時遇到了j,於是,程式又試圖執行完j的每一次迴圈,

'但當它執行j的第一次時又遇到了k,程式依然試圖執行完k的每一次迴圈,

'很幸運,直到它執行完k的第一次都沒有遇到其他迴圈結構,

'於是,它順利地執行完了k的每一次迴圈,

'因為剛才執行j的第一次,所以該執行j的第二次了,但遭遇與j的第一次一樣,

'到它執行執行完j的每一次迴圈後,就該執行i的第二次了,但遭遇與i的第一次一樣,

'程式就是這樣周而復始地執行完j的每一次迴圈的。

2樓:

你把這段**寫程序序,改為form_load事件,反覆按f8,你可以看到執行的順序。隨時把游標放在x上,都可以看到x當時的值

3樓:萍水e相逢

全亂套了!

記憶體 迴圈 裡 把 變數x的 給 修改了

加上 print 語句 自己 觀察

祝你順利

4樓:匿名使用者

首先開始i的迴圈

a設定x=4

接下來是j的迴圈開始

b設定x=3

再後面是k的迴圈,迴圈2次,分別x=x+6,最後x=3+6+6=14然後就是j的迴圈,迴圈b開始的內容3次

最後是i的迴圈,迴圈a開始的內容4次

最後x=14

vb中的optioneplicit語句有什麼作用

option explicit 語句 用於在檔案級強制對該檔案中的所有變數進行顯式宣告。option explicit 各部分說明 on 可選。啟用 option explicit 檢查。如果在 option explicit 語句後沒有指定 on 或 off,則預設為 on。off可選。禁用 op...

Vb的Call語句是什麼來的,vb中的call有什麼用???

白渡 vb裡call用來呼叫函式或者過程,不過那是過去的用法了。在vb6裡只要把過程名或者函式名寫在要執行的地方就行了,很久以前是要在前面加上call的 過程sub subpro a,b c a b end sub 函式function funpro a,b as integerfunpro a b...

C語言if巢狀if,C語言裡面if語句的巢狀看不懂

printf 請輸入a的值 scanf d a if a 10 a 0的時候,明顯符合a 10條件,但是不符合裡面巢狀的a 1條件,不做任何操作。if a 1 t 1 else t 2 printf 請輸入a的值 scanf d a if a 10 a 100,第一步驗證就不符合條件,又沒有else...