问题 单项选择题

单击一次命令结束后,下列程序的执行结果是
  Private Sub Commandl_Click( )
   s=Sat(1)+Sat(2)+Sat(3)+Sat(4)
   Print s
  End Sub
  Public Function Sat(N As Integer)
    Static Sum
    For i=1 To N
      Sum=Sum+i
    Next i
    Sat=Sum
  End Function

A.15

B.25

C.35

D.45

答案

参考答案:C

解析:解析:在被调用过程中,有这样的语句“StaticSum”,因为变量Sum是局部变量,局部变量除了可以用Dim语句声明外,还可用Static语句将变量声明为静态变量,它在程序运行过程中可保留变量的值。具体过程分析如下:
  调用Sat(1),在被调过程中N=1,执行For Next循环,Sat(1)=Sum=1;
  调用sat(2),在被调过程中N=2,执行For Next循环,Sat(2)=Sum=4;
  调用Sat(3),在被调过程中N=3,执行For Next循环,Sat(3)=Sum=10;
  调用Sat(4),在被调过程中N=4,执行For Next循环,Sat(4)=Sum=20;
  不难看出,最后输出的结果S值应为1+4+10+20=35,所以选项C)是正确的。

单项选择题
单项选择题