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 SubS的初始值是“0”吗?只输入一条数据,那么数组A(S)就是A(0),之后For i = 0 To S - 2的话For i = 0 To 1 - 2 是如何输出的?
求教!
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 SubS的初始值是“0”吗?只输入一条数据,那么数组A(S)就是A(0),之后For i = 0 To S - 2的话For i = 0 To 1 - 2 是如何输出的?
求教!
循环以空输入结束(比如输入5条数据,程序跑起来的效果是6个inputbox,输完5个,在第6个inputbox里直接回车),所以最终S=数据量+1,Ubound(A)=S,A(S-1)="",最后一条数据保存在A(S-2)
如果只有1条数据,S=2,A(0)=数据,A(1)=""。
循环范围是 For i = 0 To 2 - 2
然后进入第二次循环又弹出一个inputbox(因为A(S - 1)不是“”,没触发退出循环的条件),在第二个inputbox里直接回车,什么也不输(A(S - 1)="" 的时候才会退出循环,这是结束标记),S=2。