在窗体上画一个按钮,然后编写如下的事件代码。在按钮上单击,输出为( )。 Option Base 1 Private Sub fun(a()As Integer,n As Integer) ReDim Preserve a(6

admin2009-02-13  16

问题 在窗体上画一个按钮,然后编写如下的事件代码。在按钮上单击,输出为(    )。    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 Integer       ReDimarrl(5)       For i=1 To 5         arrl(i)=i       Next i       k=6       Call fun(arrl,k)       Print arrl(1);arrl(k)    End Sub

选项 A、1  3
B、0  0
C、1  15
D、0  15

答案4

解析 当发生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。
转载请注明原文地址:https://kaotiyun.com/show/5E1p777K
0

最新回复(0)