为什么b(n)会下标越界?谢谢!

来源:百度知道 编辑:UC知道 时间:2024/05/28 19:16:28
Option Base 1
Dim a() As Integer, b() As Integer, i%, j%, n%, t As Boolean, sum%, x%
Private Sub Command1_Click()
ReDim a(100) As Integer
Print
Print
j = 0
For i = 1 To 100
a(i) = Int(Rnd * 90 + 10)
j = j + 1
Print a(i);
If j = 10 Then j = 0: Print
Next i
End Sub

Private Sub Command2_Click()
Call sushu
End Sub
Private Sub sushu()
For i = 1 To 100
t = True
For j = 2 To a(i) - 1
If a(i) Mod j = 0 Then t = False: Exit For
Next j
If t = True Then
n = n + 1
b(n) = a(i)
End If
Text1.Text = Text1.Text & " " & b(n)
Next i
End Sub

不懂!

火星文啊

你定义的b是整型或长整型什么吧?但计算出的数超出了定意的范围,去掉定义的那句就好了

n没初值..

那n+1会等于多少??

n没有初值,n+1就什么值都有可能(VB不会自动初始化变量),在“sushu”过程开头加个n=0就成。

PS:这种电脑问题在这里发????