看下代码和运行(双击)结果来理解:
1、变量是为程序分配的一段内存空间,程序通过变量名读写内存,显然变量名与这段内存空间的首地址对应。
2、第一个参数传值,表示x变量是a变量的副本,即x的类型和初始值与a相同,但它们有各自的内存空间,在函数过程中无论如何改写x,都与a无关。
2、第二个参数传址,表示y变量是b变量的别名,即b和y变量对应的是相同的内存空间,所以在函数过程中对y的任何操作也就是对b的操作。
你的要求我满足了, 给分哈!!!
Private Sub s(ByVal x As Integer, ByRef y As Integer)
Print "s函数开始"
Print "x=" & x, "y=" & y
x = x + 10: y = y + 10
Print "x=" & x, "y=" & y
Print "s函数结束"
End Sub
Private Sub Form_DblClick()
Dim a As Integer, b As Integer
a = 100: b = 200
Print "a=" & a, "b=" & b
Call s(a, b)
Print "a=" & a, "b=" & b
End Sub