[單項選擇題] 單擊命令按鈕時,下列程序的執(zhí)行結(jié)果為( )?! rivate Sub Command1_Click() Dim x As Intege
[單項選擇題] 單擊命令按鈕時,下列程序的執(zhí)行結(jié)果為( )?! rivate Sub Command1_Click() Dim x As Integer,y As Integer x=12:y=32 Call Proc(x,y) Print x;y End Sub Public Sub Proc(n As Integer,ByVal m As Integer) n=n Mod 10 m=m Mod 10 End Sub
A.12 32
B.2 32
C.2 3
D.12 3
正確答案:B
參考解析:此題是函數(shù)過程的調(diào)用?! ≡谡{(diào)用過程時,一般主調(diào)與被調(diào)過程之間有數(shù)據(jù)傳遞,即將主調(diào)過程的實參傳遞給被調(diào)用的過程,完成實參與形參的結(jié)合,然后執(zhí)行被調(diào)過程,在Visual Basic中,實參與形參的結(jié)合有兩種方式:即傳址與傳值。這兩種方法的特點如下: 傳址的結(jié)合過程是,當(dāng)調(diào)用一個過程時,它將實參的地址傳給形參,因此在被調(diào)用的過程中,對形參的任何操作都變成了對相應(yīng)實參的操作,因此實參的值會隨形參的改變而改變?! 髦档慕Y(jié)合過程時:當(dāng)調(diào)用一個過程時,系統(tǒng)將實參的值賦值給形參并斷開了聯(lián)系,被調(diào)用過程中的操作時在形參自己的存儲單元中進行的,當(dāng)過程調(diào)用結(jié)束時,這些形參所占用的存儲單元也同時被釋放,因此在過程中對形參的任何操作不會影響實參。而題中被調(diào)過程Proc中有兩個形參,其中第一個形參n為傳址方式,第二個形參m為傳值方式。主調(diào)過程分別把實參x、y傳遞給Proc,所以當(dāng)過程調(diào)用結(jié)束后,實參x的值應(yīng)隨著被調(diào)過程變化而變化,而實參y值在主調(diào)函數(shù)中始終不變,所以輸出y的值仍為32;在被調(diào)過程中“n=n Mod l0”被調(diào)用時,相當(dāng)于“x=x Mod l0”,所有x的值最終為2,最后輸出結(jié)果如選項B)所示。
詞條內(nèi)容僅供參考,如果您需要解決具體問題
(尤其在法律、醫(yī)學(xué)等領(lǐng)域),建議您咨詢相關(guān)領(lǐng)域?qū)I(yè)人士。