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

admin2009-01-15  54

问题 单击按钮时,以下程序运行后的输出结果是 Private Sub Commandl_Click( )   Dim X As Integer,y As Integer,z As Integer   x=1:y=2:  Z=3   Call God(x,x,z)   Print x;x;z   Call God(x,y,y)   Print X;y;y End Sub Private Sub God(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

解析 从整体上看,可得主调过程将两次调用过程God后,实参的值将随形参变化而变化,现在分析一下这两次调用实参和形参是怎么变化的:第一次调用被调过程God,主调过程把实参x,x和z的地址分别传给形参x,y和z,此时形参x,y和z值分别为1,1和3,执行语句x=3 *z+1后,形参x值变为10,此时相对应的实参x也变为 10,执行语句y=2 * z后,形参y值变为6,则相对应的实参x值变为6。执行z=x + y后,形参z值应为12,当然这次调用后,程序代码输出的数值为6,6,12;第二次调用被调过程God,主调过程把实参x,x和y的地址分别传给形参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,执行z=x + y后,形参z值变为11,相应的实参y的值变为 11,而形参y和z的地址相同,所以最后它们值都应为11,所以此次调用后,输出的数值为7,11和11。
转载请注明原文地址:https://kaotiyun.com/show/4c2p777K
0

最新回复(0)