问题 单项选择题

在窗体上画一个按钮,然后编写如下的事件代码。在按钮上单击,输出为( )。
Option Base 1
Private Sub fun(a()As Integer,n As Integer)
ReDim Preserve a(n)
a(6)=a(1)+a(2)+a(3)+a(4)+a(5)
n=3
End Sub
Private Sub Command1_Click()
Dim arr1()As Integer,k As Integer
ReDim arr1(5)
For i=1 To 5
arr1(i)=i
Next i
k=6
Call fun(arr1,k)
Print arr1(1);arr1(k);arr1(6)
End Sub

A.1 3 6

B.1 3 0

C.1 3 15

D.出错

答案

参考答案:C

解析: 本题用Option Base 1规定数组下标从1开始。当发生Command1的Click事件时,定义了一个可调数组arrl,然后再重新定义它的长度为5。通过一个For循环给arrl的各个元素赋值,赋值后,Arrl(1)一Arrl(5)的值分别是1~5。调用fun过程,把数组arrl按地址传递给形参数组a,把k按地址传递给形参n。在fun过程中重新定义数组的长度为6,并保留原来的值,通过赋值语句给数组元素a(6)赋值为15,给n赋值为3,注意,由于是传地址的,所以对形参数组a和形参变量n的修改也就相应地改变了对应实参的值。过程调用返回后arrl(1)~arrl(5)的值分别是1~5,arrl(6)的值为15,k的值为3,最后输出的是数组元素arrl(1)、arrl(3)和arrl(6)的值,分别是1、3和15。

多项选择题
单项选择题