在窗体中添加一个名称为Commandl的命令按钮,然后编写如下程序: Private Sub f(ByVal x As Integer) x=x+4 End Sub Private Sub Command l_Click() i=3 Cal

admin2020-09-01  19

问题 在窗体中添加一个名称为Commandl的命令按钮,然后编写如下程序:
Private Sub f(ByVal x As Integer)
    x=x+4
End Sub
Private Sub Command l_Click()
  i=3
  Call f(i)
  If i>4 Then i=i*2
    MsgBox i
End Sub
    窗体打开运行后,单击命令按钮,则消息框的输出结果为(    )。

选项 A、3
B、4
C、6
D、7

答案A

解析 本题考查VBA中参数传递的知识。在VBA的过程调用时,参数有两种传递方式:传址传递和传值传递。如果在过程声明时形参用ByVal声明,说明此参数为传值调用:若用ByRef声明,说明此参数为传址调用:没有说明传递类型,则默认为传址传递。本题中在定义子过程f的时候用ByVal声明了形参x,说明为传值调用,此时对x的任何更改不会影响调用它的实参i,所以执行完Call f(i)这条语句后i的值不变仍为3,当然也不满足If语句的条件,故此最后输出结果为3。
转载请注明原文地址:https://kaotiyun.com/show/zMcp777K
0

相关试题推荐
最新回复(0)