谁会这道vb题啊?

来源:百度知道 编辑:UC知道 时间:2024/05/05 17:45:20
Dim i As Integer, n As Integer
Private Sub Form_Chlik()
Dim i As Integer
For i=1 to 3
s=sum(i): Print"s=";s
Next i
End Sub
Private Function sum(n As Integer)
Static j As Integer
j=j+n+1:sum=j

static是定义静态变量,它定义的变量值是被保留的,而Dim是定义动态变量,在所有事件过程之外定义的,是全局变量,值是会传递的,不过,要是在某一事件过程中定义,那么,当一个事件结束后,它定义的变量获得的值也会归零或清空。
你给的程序中,j是静态变量,初始值为0。
当i=1即n=2时,第一次调用函数sum,j=2,返回给sum,所以,第一个打印结果是:
s=2
当i=2即n=2时,j=j+n+1,计算得到j=2+2+1=5,返回给sum,第二个打印结果是s=5
当i=3即n=3时,j=j+n+1,计算得到j=5+3+1=9,返回给sum,所以第三个打印结果是s=9