问题
单项选择题
下列程序的执行结果为 Private Sub Commandl_Click( ) Dim X As Integer,y As Integer x=12:y=20 Call Value(x,y) Print X;y 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
答案
参考答案:C
解析:解析:被调过程Value的两个参数m和n前面都有关键字“ByVal”修饰,即在主调过程用此过程时,实参与形参之间是以传值方式传递信息的,而当实参与形参以传值方式相结合时,形参的改变并没有影响到实参,单单就这一点来说,当程序代码执行主调过程中的Print x;y语句时,x和y的值应不变,还是12和20,这样就能够排除选项 A)和选项B)了。当主调过程调用被调过程时,把实参x、y的值分别传给形参m和n,这就是说此时形参m值为12,n值为20,执行被调过程中的m=m *2:n=n-5语句后,m值为24,n值为15,所以Print m;n后,程序输出的结果为24和15。最后程序输出的结果如选项C)所示。