[单项选择题] 单击按钮时,以下程序运行后的输出结果是  Private Sub proc1(x As Integer,y As Integer,z As Integer)    x=3*z    y

[单项选择题] 单击按钮时,以下程序运行后的输出结果是  Private Sub proc1(x As Integer,y As Integer,z As Integer)    x=3*z    y,第1张

[单项选择题] 单击按钮时,以下程序运行后的输出结果是  Private Sub proc1(x As Integer,y As Integer,z As Integer)    x=3*z    y

[单项选择题] 单击按钮时,以下程序运行后的输出结果是  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

参考解析:

解析:从整体上看,可得主调过程将两次调用过程Proc1后,实参的值将随形参变化而变化,现在分析一下这两次调用实参和形参是怎么变化的。  第一次调用被调过程proc1,主调过程把实参x,x,z的地址分别传给形参x,y,z,此时形参x,y,z值分别为1,1,3,执行语句x=3*z后,形参x值变为9,此时相对应的实参 x也变为9,执行语句y=2*z后,形参y值变为6,则相对应的实参x值变为6。执行x =x+y后,形参z值应为12,当然这次调用后,程序代码输出的数值为6,6,12;  第二次调用被调过程proc1,主调过程把实参x,x,z的地址分别传给形参x,y,z。我们应注意一下,此时实参x的值为6而不是1,所以此时形参x,y,z值分别为6,2和2,执行语句x=3*z后,形参x值为6,相对实参x值也相应的变为6。执行语句y=2*z后,形参y值变为4,相应的实参y值也变为4,执行z=x+y后,形参z值变为10,相应的实参y的值变为10,而形参y和x的地址相同,最后它们值都应为10,所以此次调用后,程序代码将输出的数值为6,10和10。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5599789.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存