万能百科  > 所属分类  > 

在窗体上画一个命令按钮,其名称为Command1,然后编写如下程序: Private Sub Command1_Click() Dim

在窗体上画一个命令按钮,其名称为Command1,然后编写如下程序:

Private Sub Command1_Click()

Dim a(10)As Integer

Dim x As Integer

For i=1 To 10

a(i)=i

Next i

x=1

MsgBoxa(f(x)+x)

End Sub

Function f(y As Integer)

y=y+2

f=y

End Function

程序运行后,单击命令按钮,消息框的输出结果为______。

正确答案:

66 解析:本题考查VBA中参数传递的知识。在VBA的过程调用时,参数有两种传递方式:传址传递和传值传递。如果在过程声明时形参用ByVal声明,说明此参数为传值调用,此时形参的变化不会返回到实参;若用ByRef声明,说明此参数为传址调用,此时形参的变化将会返回到实参;没有说明传递类型,则默认为传址传递。本题中函数f的形参y没有使用ByVal声明,则默认为传址传递。当求a(f(x)+x)值的时候,先要求出f(x)+x的值。由于x的值为1,那么调用函数f以后得到f(x)的返回值为3,同时由于函数f中改变了形参

词条内容仅供参考,如果您需要解决具体问题
(尤其在法律、医学等领域),建议您咨询相关领域专业人士。

标签