
vb提示下标越界问题
PrivateSubForm_Load()DimiAsInteger,a()AsIntegerOpen"d:\1.txt"ForInputAs1Fori=1To999Fo...
Private Sub Form_Load()
Dim i As Integer, a() As Integer
Open "d:\1.txt" For Input As 1
For i = 1 To 999
For j = 1 To 1000 - i
If a(j) > a(j + 1) Then t = a(j): a(j) = a(j + 1): a(j + 1) = t
Next j
Next i
Close 1
For j = 1 To 1000
Print a(j)
Next j
End Sub 展开
Dim i As Integer, a() As Integer
Open "d:\1.txt" For Input As 1
For i = 1 To 999
For j = 1 To 1000 - i
If a(j) > a(j + 1) Then t = a(j): a(j) = a(j + 1): a(j + 1) = t
Next j
Next i
Close 1
For j = 1 To 1000
Print a(j)
Next j
End Sub 展开
1个回答
展开全部
问题很多。首先,动态数组a没有重定义下标的上下限,这样直接使用的话就会造成“下标越界”的错误。解决办法要么用ReDim a(1000),要么就把a设为固定数组 Dim a(1000) As Integer
其次,数组a没有赋值。从代码来看,你是想从文本文件中提取数据再赋值给数组a,但是你的文本文件打开后就没有任何动作啊?!由于不知道你的文件结构,我也无法给你提供具体的修改意见。
其次,数组a没有赋值。从代码来看,你是想从文本文件中提取数据再赋值给数组a,但是你的文本文件打开后就没有任何动作啊?!由于不知道你的文件结构,我也无法给你提供具体的修改意见。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询