单选题
编写如下程序:Private Sub Command1_Click() Dim k As Integer x = 1 For k = 1 To 3 x = x * fun(k) Next k Print xEnd SubFunction fun(x As Integer) As Integer Static a a = a + 1 fun = a * xEnd Function程序运行后,单击命令按钮Command1,输出结果为
A、
6
B、
36
C、
3
D、
30
【正确答案】
B
【答案解析】
解析:函数fun中a是静态变量,在没有退出程序前,每次引用静态变量后,其值会继续保留,作为下次引用时该变量的初始值。在For 循环中,当k为1时,调用fun函数,a为1,返回值为1,x=1*1=1;当k为2时,调用fun函数,a为2,返回值为2*2为4,x=1*4=4;当k为3时,调用fun函数,a为3,返回值为3*3,x=9*4=36。故输出结果为36,B项正确。
提交答案
关闭