问题 单项选择题

有如下程序:  Private Sub Commandl_Click()   Dim a As Integer   a=2   For i=1 To 3     Print Gad (a)     Next i  End Sub  Function Gad (a As Integer)   b=0   Static c   b=b + 1   c= c + 1   Gad= a + b + C  End Function  运行上面的程序后,单击命令按钮,输出结果为()。

A.12 3

B.234

C.456

D.146

答案

参考答案:C

解析:在事件Gad中定义了一个静态变量c,每次调用完成后,c的值都将保存 到下一次调用c;Sub过程中,循环语句For的变量I的初始值和终值分别是1,3,因为步 长为1,所以循环3次,循环体为调用Gad过程;在第一次调用循环时,将a等于2传给形 参,因为是第一次调用Gad,且c没有赋值,所以默认c为0,执行b=b+1,c=c+1,b,c 的值为1,所以Gad的值为4;第三此循环时,c的初值为2,执行Gad过程后,返回值为6。

单项选择题
单项选择题