问题 单项选择题

下列程序的执行结果为( )
Private Sub Command1_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

解析: 本题主要考查自定义过程的参数传递。在Visual Basic中,参数默认是按地址传递的,也就是使过程按照变量的内存地址去访问实际变量的内容。这样,将变量传递给函数时,通过函数可永远改变该变量值。如果想改变传递方式,可以在变量定义前加关键字ByRef或ByVal。ByRef为默认值,按地址传递,ByVal按照值传递,函数调用后不改变变量值。
本题Value函数两个参数都是值传递,参数的值只会在函数里面变化,调用结束后,参数的值没有最终改变,故选项C正确。

单项选择题
单项选择题