单击按钮时,以下程序运行后的输出结果是( )。 PrivateSubprocl(x As Integer,y As Integer,z As Integer) x=3*z y=2*z z=x+y End Sub Private

admin2013-01-18  42

问题 单击按钮时,以下程序运行后的输出结果是(  )。
  PrivateSubprocl(x  As  Integer,y  As  Integer,z  As  Integer)
x=3*z
y=2*z
z=x+y
End  Sub
Private  Sub  Commandl  Click(  )
Dim  X  As  Integer,y  As  Integer,z  As  Integer
x=l:y=2:z=3
Call  proel (x,X,z)
Prin  tx;x;z
Call  proel(x,y,y)
Print  x;y;y
End  Sub

选项 A、6  6  12  6  10  10
B、9  5  0  5  10  10
C、9  6  12  9  10  15
D、9  10  10  54  10

答案A

解析 从整体上看,可得主调过程将两次调用过程proCl后,实参的值将随形参变化而变化。
第一次调用被调过程proCl,主调过程把实参x,x,z的地址分别传给形参x,y,z,此时形参x,v,z值分别为1,1,3,执行语句x=3*z后,形参x值变为9,此时相对应的实参x也变为9,执行语句v=2*z后,形参y值变为6,则相对应的实参x值变为6。执行Z=X+y后,形参z值应为12,当然这次调用后,程序代码输出的数值为6,6,12。
第二次调用被调过程proCl,主调过程把实参x,x,z的地址分别传给形参x,y,z。我们应注意一下,此时实参x的值为6而不是l,所以此时形参x,y,z值分别为6,2,2,执行语句x=3*z后,形参x值为6,相对实参x值也相应的变为6。执行语句y=2*z后,形参v值变为4,相应的实参y值也变为4,执行2=x+y后,形参z值变为10,相应的实参v的值变为10,而形参v和z的地址相同,最后它们值都应为10,所以此次调用后。程序代码将输出的数值为6,10和10。
转载请注明原文地址:https://jikaoti.com/ti/2L7QFFFM
0

最新回复(0)