问题 单项选择题

单击—次命令按钮后,下列程序的执行结果是 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+iNext 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,执行ForNext循环,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。

单项选择题
单项选择题