求助另一条VB题

来源:百度知道 编辑:UC知道 时间:2024/06/03 16:21:30
Function F(a As Integer)
Dim b As Integer
Static c As Integer
b = b + 2
c = c + 2
F = a + b + c
End Function

Private Sub Command1_Click()
Dim a As Integer
a = 6
For i = 1 To 3
Print F(a)
Next i
End Sub

答案是10,12,14
可是我第二步就已经算到14了,那么12是怎么算出来的????
求赐教!!!!!!!!重要是步骤哦!!!!!麻烦大家啦~~~~

Function F(a As Integer)
Dim b As Integer
Static c As Integer
b = b + 2 'b永远都是2,因为它是局部变量,每次调用时都会初始化为0
c = c + 2 '每调用一次本函数,c的值会在原来的基础上加上2
F = a + b + c '返回的结果为参数的值加上2加上c的值
End Function

Private Sub Command1_Click()
Dim a As Integer
a = 6 '
For i = 1 To 3
Print F(a) ' a的值为6、7、8
Next i
End Sub

'第一次点按钮:
'第一次调用F :a=6,b=2,c=0
'第二次调用F :a=7,b=2,c=2
'第三次调用F :a=8,b=2,c=4

'第二次点按钮:
'第一次调用F :a=6,b=2,c=6
'第二次调用F :a=7,b=2,c=8
'第三次调用F :a=8,b=2,c=10

'第三次点按钮:
'第一次调用F :a=6,b=2,c=12
'第二次调用F :a=7,b=2,c=14
'第三次调用F :a=8,b=2,c=16

...