问题
单项选择题
有如下程序段: Private Sub Command1_Click( ) Dim a As Integer a=2 For i=1 To 3 Print G(a) Next i End Sub Function G(a As Integer) b=0 Static c b=b + 1 c=c + 1 G=a + b + c End Function 运行上面的程序后,单击命令按钮,输出结果为( )。
A. 1 2 3
B. 2 3 4
C. 4 5 6
D. 1 4 6
答案
参考答案:C
解析:在函数G中定义了一个静态变量c,每次调用完成后,c的值都将保存到下一次调用c;Sub过程中,循环语句For的变量I的初始值和终值分别是1,3,因为步长为1,所以循环3次,循环体为调用G过程;在第一次调用循环时,将a等于2传给形参,因为是第一次调用G,且c没有赋值,所以默认c为0,执行b=b+1,c=c+1,b,c 的值为1,所以G的值为4;第三此循环时,c的初值为2,执行G过程后,返回值为6。