1道VB 2級題目

時間 2022-04-09 17:20:15

1樓:匿名使用者

在for...next第一次迴圈時,i=5,呼叫函式fun1(5,5),程式執行轉到函式fun1中,第乙個i的值被賦與a,a=5,第二個i的值被賦與b,b=5,執行第一條語句後b=5+5=10,第二條語句是把a與b的和傳遞後函式fun1,而此時a仍為5,b為10,其和為15,函式返回值為15,n=15,被列印輸出。

由於在函式呼叫時,b是按址傳遞的,所以當b的值被修改成10,i的值也被修改為10(這就是按址傳遞引數的結果),這樣,執行next i語句時,i值就變成了10+2=12(因為step 2),當程式第二次迴圈時,呼叫函式fun1(12,12),同上分析,b=12+12=24,i的值也被修改為24,輸出結果為a+b=12+24=36.

再次執行next i語句時,i=24+2=26,超出迴圈上限15,跳出for...next迴圈,列印輸出i=26.

byval byref是函式呼叫時引數傳遞的關鍵字。解釋同一樓。

2樓:匿名使用者

byval是引數傳遞的乙個關鍵字,byval是按值傳遞,也就是說實參傳遞給形參的是 實參的數值的乙個複製備份而不是數值本身

想對應的是預設的byref 按位址傳遞 這個傳的是實參在記憶體中的位址

這樣的話在 子過程或者函式呼叫過程中就會改變實參的數值

求1道小學VB程式設計題目謝謝,急求!一道VB程式設計題 謝謝!

private sub form click dim i j s i 1,j 0 do while s 2000 j i j s s j i i 1 loop print n i print s s end sub 有點不記得了 大概是這樣的 你自己除錯一下哈!private sub form cl...

求解一道VB題目,一道vb題目求解。

由圖上 經執行所得值如下 a 3,2 的值是 1,a 1,2 的值是9,a 2,3 的值是 7.如下圖所示 我只能看懂vb vb的除錯那些不太熟。我用c語言寫了乙個一樣的程式,把每一步的計算過程輸出出來了,你看一下。下面是c語言的 有興趣你可以自己去執行一下看看。include int main 宣...

求一道VB題目急求

按照你的意思,相當於把陣列按正序和反序分別輸出。編寫程式如下 dim a 1 to 20 as integer,i as integer for i 1 to 20 a i inputbox 請輸入第 str i 個數 next i for i 1 to 20 print a i next i pr...