单击一次命令按钮后,下列程序的执行结果是( )。 Private Sub Command1_Click() s=P(1) +P(2) +P(3) +P(4) Print s End Sub Public Function P(N As Integer) Static Sum For i=1 To N Sum=Sum+i Next i P=Sum End Function
A.15
B.25
C.35
D.45
参考答案:C
解析:在被调用过程中,有这样的语句“Static Sum”,因为变量Sum是局部变量,局部变量除了可以用Dim语句声明外,还可用Static语句将变量声明为静态变量,它在程序运行过程中可保留变量的值,这就是说每次调用过程时,用Static说明的变 量保持原来的值。具体过程分析如下: 调用P(1),所以在被调过程中N=1,执行For Next循环,P(1)=Sum=1; 调用P(2),所以在被调过程中N=2,执行For Next循环,P(2)=Sum=4; 调用P(3),所以在被调过程中N=3,执行For Next循环,P(3)=Sum=10; 调用P(4),所以在被调过程中N=4,执行For Next循环,P(4)=Sum=20; 不难看出,最后输出的结果S值应为1+4+10+20=35,所以选项C)正确。