vb数组下标越界 - 爱问答

(爱问答)

vb数组下标越界

Private Sub Command1_Click()
Text1.Text = ""
Dim S As Long, i As Long
Dim A()
Do
ReDim Preserve A(S)
A(S) = InputBox("请输入字符串,输入空串时结束", "输入")
S = S + 1
Loop Until A(S - 1) = ""
For i = 0 To S - 2
Text1.Text = Text1.Text & "第" & CStr(i + 1) & "个是:" & CStr(A(i)) & " "
Next i
Erase A
End Sub
为什么把Loop Until A(S - 1) = "" 改成Loop Until A(S) = "" 就提示下标越界?咱分析分析这么几句话。
Do
ReDim Preserve A(S)
A(S) = InputBox("请输入字符串,输入空串时结束", "输入")
S = S + 1
Loop Until A(S - 1) = ""
运行到 ReDim Preserve A(S),数组最大下标是S,假设是5。
运行到A(S) = InputBox("请输入字符串,输入空串时结束", "输入"),这句无关大碍,略。
运行到S = S + 1,注意此S非彼S了,比刚才大了1,按刚才的假设,是6.
如果按你的修改,运行到Loop Until A(S) = "" ,你想想,S大了1是6,所以A(S) 根本没有数据和他对应,A(6)根本就是空的。当然下标越界啦。

相关标签:越界

下一篇:电子表格中下标越界错误9,怎么解决?

上一篇:关于C++语言中数组越界的问题

热门标签:
控制 天下 西游记 祝福 三国演义 斗罗大陆 隋唐 灵魂 童年 左耳 复活 项链 斗破苍穹 蝙蝠 校花 勇气 风流 黑客 盗墓笔记 神武 魔域 小爱 完美世界 全职高手
最新更新:
岳飞e思维资料分析的课程怎么样呢? 开始征服的武侠位面的修真小说。 为什么把太监叫公公? 鲁迅写藤野先生的时代背景 商山早行这首诗抒发了诗人怎样的情感 书戴嵩画牛出现了两次笑,谈谈你对这两次笑的理解。 由渌罗山至桃园县记全文翻译,急!在线等 谁有苏派的所有小说麻烦发一下,我想要TXT版的,可以在百度网盘或者迅雷中下的,谢谢。 音士顿录音笔能看小说吗 简一的超高门板工艺是什么? 金田起义的标志是什么 《公司法》全文共多少字? 春秋战国为什么存在时间重叠 禅让制和世袭制的利弊 《红星照耀中国》中红色外交第一人是谁?