下列程序的执行结果为   Private Sub Comrnandl_Click( )    Dim p As Integer, q As Integer    p=12:q=20    Call Value(p, q)    Print p; q   E

admin2009-01-15  24

问题 下列程序的执行结果为   Private Sub Comrnandl_Click( )    Dim p As Integer, q As Integer    p=12:q=20    Call Value(p, q)    Print p; q   End Sub   Private Sub Value(ByVal m As Integer, ByVal n As Integer)    m=m * 2: n=n - 5    Print m; n   End Sub

选项 A、20 12  20 15
B、12 20  12 25
C、24 15  12 20
D、24 12  12 15

答案4

解析 被调过程Value的两个参数m和n前面都有关键字“ByVal”修饰,即在主调过程调用此过程时,实参与形参之间是以传值方式传递信息的,而当实参与形参以传值方式相结合时,形参的改变并没有影响到实参,单单就这一点来说,我们可知,当程序代码执行主调过程中的PrimP;q语句时,p和q的值应不变,还是12,20,这样就能够排除选项A)和选项B)了。当主调过程调用被调过程时,把实参p,q的值分别传给形参m和n,这就是说此时形参m值为12,n值为20,执行被调过程中的m=m * 2:n=n-5语句后,m值为24,n值为15,所以Print m;n后,程序输出的结果为24和15。最后程序输出的结果如选项C)所示。
转载请注明原文地址:https://jikaoti.com/ti/iu80FFFM
0

最新回复(0)