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

admin2020-01-02  22

问题 窗体上有一个名称为Commandl的命令按钮,其单击事件过程如下:
Private Sub Commandl_Click()
   Dim x As Integer,y As Integer
   Static z As Integer
   x=3:y=5:z=y
   Call f(x,y,z)
     Print x;y;z
  End Sub
Private Sub f(ByVal a As Integer,ByRef b As Integer,c As Integer)
   a=a+a:b=b+b:c=c+c
End Sub
运行程序,单击命令按钮时,3个标签中显示的内容分别是

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

答案D

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

最新回复(0)