[填空題] 有如下程序: Private Sub command1_Click() a=1:b=1 Print“a=”:a;“,b=”;b Call m
2021-07-20
[填空題] 有如下程序:
Private Sub command1_Click()
a=1:b=1
Print“a=”:a;“,b=”;b
Call mult(a),b)
Prinf“a=”;a:“,b=”;b 語句
End Sub
Sub mult(x,y)
k=1
x=2*k
y=3*k
Pnint“X=“;X;“,y=”;y
End Sub
運行后,標(biāo)有“語句”的Print語句的輸出結(jié)果是 (8) 。
正確答案:a=1 b=3
參考解析:在Visual Basic語言中,虛實結(jié)合有值傳遞方式和地址傳遞方式,實參為常量或表達(dá)式,是值傳遞方式,這種傳遞是單向的。實參為變量,是地址傳遞方式,這種傳遞是雙向的,在調(diào)用子程序時,形參的值如果改變了,會通過實參帶回主程序。本題中,第1個實參變量a用括弧括起來,采用的是值傳遞方式;第2個實參變量b沒用括弧括起來,采用的是地址傳遞方式。在調(diào)用子程序后,第1個實參a的值為1,不管在子程序中是否被重新賦值,返回調(diào)用程序,保留調(diào)用前的值仍為1;第2個實參b的值為1,在子程序中被重新賦值為3,返回調(diào)用程序就不再保留調(diào)用前的值,而是帶回了形參的值3。因此,在標(biāo)有“語句”的Print語句中的輸出項為a=1,b=3。
詞條內(nèi)容僅供參考,如果您需要解決具體問題
(尤其在法律、醫(yī)學(xué)等領(lǐng)域),建議您咨詢相關(guān)領(lǐng)域?qū)I(yè)人士。