一道vb题目求过程

Option Explicit
Private Sub Command1_Click()
Dim i As Integer, s As Integer
For i = 1 To 9 Step 3
s = fun((i)) + fun(i)
Print s
Next i
End Sub
Private Function fun(m As Integer) As Integer
Static a As Integer
If m Mod 2 = 0 Then
a = a + 1
m = m + 1
Else
a = a + 2
m = m + 2
End If
fun = a + m
Print fun
End Function
问第1行第3行最后1行的结果?结果是5,12,25.我不知道怎么做的,还有里面的s = fun((i)) + fun(i)的fun((i)) 是什么意思呀?求高人解答,急急急

fun((i)) 是把(i)作为参数传递,返回时不改变i的值:
在主程序中相当于首先执行s = fun(1) + fun(i);在子函数中运行fun(1),
结果是5;再运行fun(i),返回时改变i的值为3;在主程序中此时s=5+5,
Print s 结果是12;
在主程序中执行第二次循环(此时i=3+3),s = fun(6) + fun(i)...
最后结果是25
温馨提示:答案为网友推荐,仅供参考
相似回答