VB程序 下标越界问题

发布网友 发布时间:2024-10-24 07:04

我来回答

2个回答

热心网友 时间:2024-10-24 08:40

因为经过
For i = 1 To 10
ReDim a(i)
a(i) = Int(Rnd * 90 + 10)
Next i
后 i=11,然后Print a(i)就是Print a(11),当然越界了。
你代码有问题,你要的效果可能是打印10个随机数,那么print应该在上面即:
Option Base 1
Private Sub Form_Click()
Dim a() As Integer, i As Integer, j As Integer
For i = 1 To 10
ReDim a(i)
a(i) = Int(Rnd * 90 + 10)
Print a(i)
Next i
End Sub

热心网友 时间:2024-10-24 08:33

因为你print 语句是在循环之外执行的,这时候i是11,所以溢出。
另外ReDim a(i)应改为ReDim preserve a(i)

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com