Private x As Integer

来源:百度知道 编辑:UC知道 时间:2024/04/26 12:17:07
Private x As Integer

Private Sub Command1_Click()
Dim y As Integer
x = 5: y = 3
Call proc(x, y)
Label1.Caption = x
Label2.Caption = y

End Sub
Private Sub proc(ByVal a As Integer, ByVal b As Integer)
x = a * a
b = b + b
End Sub
的结果怎么会是 25 3

有没有看到proc函数参数列表中形参b前面的ByVal关键字?它表示按值传递,它是不会改变传过来的实参y的值的。
把关键字ByVal改为ByRef,即按址传递,那结果就会是:25 6

b = b + b..
所以y就还是等于3的啊...