这个VB程序怎么分析出来啊!有报酬噢!
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
我也知道这个程序的关键在于Static Sum
i=1,sum=1
那么i=2,sum=?
i=3,sum=?
i=4,sum=?
答案要具体,比如说i=2,sum=?+?+?=?
参考答案:模块的代码开始运行后,使用 Static 语句声明的变量会一直保持其值,直至该模块复位或重新启动。
Static SUM存在的话
i=1:
sum=1
i=2:
sum=1+1+2=4
i=3:
sum=4+1+2+3=10
i=4:
sum=10+1+2+3+4=20
所以s=1+4+10+20=35
没有STATIC SUM的话
i=1:
sum=1
i=2:
sum=1+2=3
i=3:
sum=1+2+3=6
i=4:
sum=1+2+3+4=10
所以s=1+3+6+10=20
以上