在窗體上畫一個(gè)名稱為Commandl的命令按鈕,再畫兩個(gè)名稱分別為L(zhǎng)abell、Lubd2的標(biāo)簽,然后編寫如下程
在窗體上畫一個(gè)名稱為Commandl的命令按鈕,再畫兩個(gè)名稱分別為L(zhǎng)abell、Lubd2的標(biāo)簽,然后編寫如下程序代碼:
Private X As Integer
Private Sub Commandl_Click()
X=5:Y=3
Call proc(X,Y)
Labell.Caption=X
Label2.Caption=Y
End Sub
Private Sub proc(a As Integer,ByVal b As Integer)
X=a*a
Y=b+b
End Sub
程序運(yùn)行后,單擊命令按鈕,則兩個(gè)標(biāo)簽中顯示的內(nèi)容分別是
A.25和3
B.5和3
C.25和6
D.5和6
正確答案:B解析:ByVal為傳值,當(dāng)你把函數(shù)外的一個(gè)變量,如n傳給ByVal的參數(shù)時(shí),在函數(shù)體內(nèi)對(duì)該參數(shù)所做的任何變更,不會(huì)影響函數(shù)體外的這個(gè)n變量的值。而ByRef為傳址,即把函數(shù)體外變量n的地址傳給ByRef的函數(shù)參數(shù),在函數(shù)內(nèi)對(duì)該參數(shù)所做的變更就會(huì)體現(xiàn)在函數(shù)體外部的這個(gè)變量n上。在本題中,在自定義函數(shù)pro~中,定義b為ByVal,默認(rèn)a為ByRef,在該字函數(shù)中運(yùn)算結(jié)果為x=25,y=6。這里的x、y的值并不能改變主函數(shù)中的x、y值,所以運(yùn)算后,x,y的值仍保持不變。
詞條內(nèi)容僅供參考,如果您需要解決具體問(wèn)題
(尤其在法律、醫(yī)學(xué)等領(lǐng)域),建議您咨詢相關(guān)領(lǐng)域?qū)I(yè)人士。