[單項(xiàng)選擇題] 單擊按鈕時(shí),以下程序運(yùn)行后的輸出結(jié)果是 Private Sub proc1(x As Integer,y As Integer,z As In
[單項(xiàng)選擇題] 單擊按鈕時(shí),以下程序運(yùn)行后的輸出結(jié)果是 Private Sub proc1(x As Integer,y As Integer,z As Integer) x=3*z y=2*z z=x+y End Sub Private Sub Command1_Click() Dim x As Integer,y As Integer,Z As Integer x=1:y=2:z=3 Call proc1(x,x,z) Print x;x;z Call proc1(x,y,y) Print x;y;y End Sub
A.6 6 12 `B.9 5 10 6101051010
C.9 6 12
D.9 10 10 910155410
正確答案:A
參考解析:解析:從整體上看,可得主調(diào)過程將兩次調(diào)用過程Proc1后,實(shí)參的值將隨形參變化而變化,現(xiàn)在分析一下這兩次調(diào)用實(shí)參和形參是怎么變化的。 第一次調(diào)用被調(diào)過程proc1,主調(diào)過程把實(shí)參x,x,z的地址分別傳給形參x,y,z,此時(shí)形參x,y,z值分別為1,1,3,執(zhí)行語句x=3*z后,形參x值變?yōu)?,此時(shí)相對(duì)應(yīng)的實(shí)參 x也變?yōu)?,執(zhí)行語句y=2*z后,形參y值變?yōu)?,則相對(duì)應(yīng)的實(shí)參x值變?yōu)?。執(zhí)行x =x+y后,形參z值應(yīng)為12,當(dāng)然這次調(diào)用后,程序代碼輸出的數(shù)值為6,6,12; 第二次調(diào)用被調(diào)過程proc1,主調(diào)過程把實(shí)參x,x,z的地址分別傳給形參x,y,z。我們應(yīng)注意一下,此時(shí)實(shí)參x的值為6而不是1,所以此時(shí)形參x,y,z值分別為6,2和2,執(zhí)行語句x=3*z后,形參x值為6,相對(duì)實(shí)參x值也相應(yīng)的變?yōu)?。執(zhí)行語句y=2*z后,形參y值變?yōu)?,相應(yīng)的實(shí)參y值也變?yōu)?,執(zhí)行z=x+y后,形參z值變?yōu)?0,相應(yīng)的實(shí)參y的值變?yōu)?0,而形參y和x的地址相同,最后它們值都應(yīng)為10,所以此次調(diào)用后,程序代碼將輸出的數(shù)值為6,10和10。
詞條內(nèi)容僅供參考,如果您需要解決具體問題
(尤其在法律、醫(yī)學(xué)等領(lǐng)域),建議您咨詢相關(guān)領(lǐng)域?qū)I(yè)人士。