以下程序运行后,单击按钮输出结果是  Private Sub Commandl_Click( )    Dim x As Integer,y As Integer,z As Integer    X=4:y=2: Z=3    Call Gopd(x,x

admin2009-01-15  35

问题 以下程序运行后,单击按钮输出结果是  Private Sub Commandl_Click( )    Dim x As Integer,y As Integer,z As Integer    X=4:y=2:  Z=3    Call Gopd(x,x,z)    Print x;X;Z    Call Gopd(x,y,y)    Print x;y;y  End Sub  Private Sub Gopd(x As Integer,y As Integer,z As Integer)    X=3 * Z + 1    y=2 * z    z=x + y  End Sub

选项 A、6 6 12    7 11 11
B、8 5 10   5 11 11
C、9 6 12   9 10 15
D、8 10 10   5 9 10

答案1

解析 第一次调用被调过程Gopd,主调过程把实参x,x,z的地址分别传给形参x,y,z,此时形参x,y,z值分别为4,4和3,执 行语句x=3 * z+1后,形参x值变为10,此时相对应的实参x也变为10执行语句y=2*z后,形参y值变为6,则相对应的实参x值变为6;执行z=x+y后 ,形参z值应为12,当然这次调用后,程序代码输出的数值为6,6,12;第二次调用被调过程Gopd,主调过程把实参x,x,z的地址分别传给形 参x,y,z,此时实参x的值为6而不是1,所以此时形参x,y,z值分别为6,2和2,执行语句 x=3*z+1后,形参x值为7,相对实参x值也相应的变 为7;执行语句y=2*z后,形参y值变为4,相应的实参y值也变为4;执行x=x+y后,形参z值变为11,相应的实参y的值变为11,而形参y和z的地址 相同,最后它们值都应为11,所以此次调用后,程序输出的数值为7,11和11。
转载请注明原文地址:https://kaotiyun.com/show/b02p777K
0

最新回复(0)