Option Base 1
Rem 参数传递时最好写清楚传递方式及参数类型
Rem 数组默认为传址 故啊a()前的byref可省略
Sub ProcMin(ByRef a() As Integer, ByRef amin As Integer)
Rem amin不需要再重复定义
amin = 0
For i = 1 To 10
If a(i) < amin Then amin = a(i)
Next i
End Sub
Private Sub Command1_Click()
Dim b%(10), n%
For i = 1 To 10
b(i) = Int(-101 * Rnd - 300)
Print b(i)
Next i
Call ProcMin(b(), n)
Print "最小的是" + Str(n)
End Sub
Private Sub Form_Load()
Rem 定义随机种子 这样每次随机数都不一样
Randomize
End Sub
只需改两个地方就OK了!
Sub ProcMin(a(), amin) '参数改为a%(),需指明数组类型,与实参对应
Dim amin% '删除此句,形参不能再定义
效果图如下:呵,你自己验证吧!
Sub ProcMin(a(), amin)
Dim amin%
amin = 0
For i = 1 To 10
If a(i) < amin Then amin = a(i)
Next i
End Sub
改成:
Sub ProcMin(a(), byref amin)
Dim amin%
amin = 0
For i = 1 To 10
If a(i) < amin Then amin = a(i)
Next i
End Sub
====================================
这样,进行显示声明:
Sub ProcMin(a%(), byref amin%)
dim i%
amin = 0
For i = 1 To 10
If a(i) < amin Then amin = a(i)
Next i
End Sub
Option Explicit
Option Base 1
Sub ProcMin(a, ByRef amin)
Dim i%
amin = a(1)
For i = 1 To 10
If a(i) < amin Then amin = a(i)
Next i
End Sub
Private Sub Command1_Click()
Dim b%(10), n%, i%
For i = 1 To 10
b(i) = Int(-101 * Rnd - 300)
Print b(i);
Next i
Call ProcMin(b, n)
Print n
End Sub