问题
单项选择题
有如下程序: 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。