问题
单项选择题
在窗体上画一个命令按钮,其名称为Command1,然后编写如下程序:
Private Sub Command1_Click()
Dim a(10) As Integer
Dim x As Integer
For i=1 To 10
a(i)=8+i
Next
x=2
Print a(f(x)+x)
End Sub
Function r(x As Integer)
x=x+3:f=x
End Function
程序运行后,单击命令按钮,输出结果为
A.12
B.15
C.17
D.18
答案
参考答案:D
解析: 程序中通过For循环语句为数组a的每一个元素赋值,每个元素的值是它的下标加上8。最后输出的结果是由a(f(x)+x)决定的,因此只要找到下标值f(x)+x即可。题目中,x的初始值为2,调用函数f后,函数的返回值为5,即f(x)=5。由于函数f的形参没有指定传递方式,默认按传地址调用,经过函数f运算后,此时x值变为5,因此f(x)+x的值为lO,根据数组的赋值规律可知a(10)的值为18。