[单项选择题] 在窗体上画一个按钮,然后编写如下的事件代码。在按钮上单击,输出为( )。 Option Base 1 Private Sub fun(a()As Integer,n As Int

19 查阅

[单项选择题] 在窗体上画一个按钮,然后编写如下的事件代码。在按钮上单击,输出为( )。 Option Base 1 Private Sub fun(a()As Integer,n As Integer)ReDim Preserve a(6)a(6)=a(1)*a(3)*a(5)n=UBound(a) End Sub Private Sub Command1_Click()Dim arr1()As Integer,k As IntegerReDimarrl(5)For i=1 To 5 arrl(i)=iNext ik=6Call fun(arrl,k)Print arrl(1);arrl(k) End Sub

A.1 3

B.0 0

C.1 15

D.0 15

参考答案:

C

当发生Command1_Click事件时,首先定义了一个可调数组arrl,接着重新定义它的长度为5,然后通过一个For循环给该数组元素arrl(1)~arrl(5)赋值1~5。给k赋值6,调用过程fun,把数组arrl按地址传递给形参数组a,把变量k按地址传递给形参变量n。在fun过程中重新定义了数组a的长度为6,并保持原来的值,给a(6)赋值为1*3*5,并通过Ubound函数求得该数组的下标上界并赋值给n,n的值为6。过程调用返回后,由于是按地址传递的,所以对形参数组a的修改就是对实参数组arrl的修改,对形参n的修改就是对实参k的修改,k的值为6。输出arrl(1)和arrl(6)的值分别为1和15。

计算机考试