窗体上有一个名称为Commandl的命令按钮,其单击事件过程如下: Private Sub Command 1 Click() Dim xAs Integer,y As Integer Static zAs Integer x=3:y=5:z=y Call

admin2015-11-24  27

问题 窗体上有一个名称为Commandl的命令按钮,其单击事件过程如下:
Private Sub Command 1 Click()
Dim xAs Integer,y As Integer
Static zAs Integer
x=3:y=5:z=y
Call f(x,y,z)
Print x;y;z
End Sub
Private Sub f(ByVal aAs Integer,ByRefbAs Integer,cAs Integer)
a=a+a-b=b+b:c=c+c
End Sub
运行程序,单击命令

选项 A、3 5 5
B、3 5 10
C、3 10 5
D、3 10 10

答案D

解析 在Visual Basic中调用过程时,参数有两种传递形式:按值传递(Byval)和按址传递(Bytef),默认为按址传递。其中,当参数按址传递时,如果在引用该参数的过程中改变了形参的值,同时也就改变了传递参数时实参变量的值。本题中f的参数a是按值传递的,b和c是按地址传递的,因此在f中对a的改变不会影响实参x,对b和c的操作会影响实参x和v。
转载请注明原文地址:https://kaotiyun.com/show/3tLp777K
0

最新回复(0)