请帮我解释下这段VB代码中的两句

来源:百度知道 编辑:UC知道 时间:2024/05/21 19:41:56
Dim a() As Integer

Sub abc(min As Integer, max As Integer, p() As Integer)
For i = min To max
p(i) = i * 2
Print p(i)
Next i
End Sub

Private Sub Form_click()
ReDim a(1 To 5) As Integer
Call abc(1, 5, a())
End Sub

解释下:
ReDim a(1 To 5) As Integer
这句语句光定义了a,而没有对a进行赋值,那么a(1)、a(2)…都是0才对。

Call abc(1, 5, a())
这句语句中的a()意思是把a(1)、a(2)…传值到过程中吗?

看Sub abc(min As Integer, max As Integer, p() As Integer)
和Call abc(1, 5, a())
min 对应1,max 对应5,p() 对应a()。
For i = 1 To 5
p(i) = i * 2
Print p(i)
Next i

当I等于1时候,
p(1) = 1 * 2
Print p(1)
这个时候p(1)=2=a(1)
PS:Call abc(1, 5, a())
这句语句中的a()意思是把a(1)、a(2)…传值到过程中吗?
你这问的莫名其妙?
无论a(1)、a(2)…是什么值都没意义。因为这句p(i) = i * 2