一道VB计算题,朋友帮忙,在线等.

来源:百度知道 编辑:UC知道 时间:2024/06/30 08:49:19
Option Explicit
Dim N As Integer

Private Sub Command1_Click()
Dim A As Integer, B As Integer
A = 2: B = 3
For N = 1 To 6
If N Mod 2 = 0 Then
B = FUN(N, A) + A
Else
A = FUN(B, N) + B
End If
Next N
Print N, A, B
End Sub

Private Function FUN(X As Integer, Y As Integer) As Integer
X = Y - 1 + N
Y = X + Y - N
FUN = X + Y
End Function
程序运行结果为10 27 9
我不明白是怎么算出来的,麻烦朋友帮我写下计算过程,先谢谢了!!!

N Mod 2的意思是N/2的余数

另外,函数FUN的参数全都是地址传递,那么函数内部的赋值语句将会改变外部实参的值。

建议:Private Function FUN(ByVal X As Integer,ByVal Y As Integer) As Integer

用ByVal关键字表明值传递,内部赋值语句不会改变外部实参的值。