一道江苏省二级VB题目 我只问一部分 其于的我自己做 大虾门帮忙啊

来源:百度知道 编辑:UC知道 时间:2024/06/04 22:56:07
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
第一个循环 Function fun(x As Integer, y As Integer)中X为B即为3 Y为N即为1 然后 x = y - 1 + n 中因N=Y=1得 x = y - 1 + n为1 Y=x+y-N为1 fun = x + y为2 得A为3 N为1 B为1 为什么这样算错误

我认为,楼主没有算错,上面的都上当了吧?还请楼主重新算一遍,如有错误再行联系。

现在静不下来心,不想看哦!等我静下心来了再给你解决,其实就是个函数的调用

提醒你一下,Fun(X,Y)里面的X,Y都没有指定传递方式,那默认为传地址的方式,当传地址的时候,形参的改变(X,Y的改变)会影响到实参的值
你的Fun函数中,对X,y进行了改变,所以,对于调用的n,a,b值,也会改变

byval