Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
Dim a(1), b As Integer
b = 5
For i = 0 To 1
a(i) = i
Next
Console.WriteLine("改变前的值:")
For i = 0 To 1
Console.WriteLine(a(i))
Next
Console.WriteLine(b)
Call changea(a, b)'调用子程序进行参数传递,均为传值
Console.WriteLine("改变后的值:")
For i = 0 To 1
Console.WriteLine(a(i))
Next
Console.WriteLine(b)
End Sub
Sub changea(ByVal a() As Integer, b As Integer)
For i = 0 To 1
a(i) = 2 * (i + 1)
Next
b = 3
End Sub
数组a(1)虽然是byval, 但是却发生了改变,可见数组传递方式均为传址。