Dim i%, j%, n%
n = Val(Text1.Text)
ReDim a(i, j)
For i = 1 To n
Picture1.Print Spc(n - i)
For j = 1 To i
If i = 1 And j <> 1 Then
a(i, j) = 1
End If
If i = j Then
a(i, j) = 1
End If
If i - 1 > 0 And j - 1 > 0 And i <> j Then
a(i, j) = a(i - 1, j - 1) + a(i - 1, j)
End If
t = a(i, j)
Picture1.Print t
Next j
Picture1.Print
Next i
End Sub
运行的时候怎么会下标越界呢?
这个程序怎么会下标越界呢?急!
答案:2 悬赏:70
解决时间 2021-03-13 01:19
- 提问者网友:前事回音
- 2021-03-12 02:33
最佳答案
- 二级知识专家网友:我的任性你不懂
- 2021-03-12 03:01
你在程序最开始重新定义了数组定的元素个数:
ReDim a(i, j)
此时i,j都还没有赋值,所以数组a被重新定义为: a(0,0)
呵呵,你后面循环时 i和j都变成了1. 当你给a(1,1)赋值时,当然越界了.
ReDim a(i, j)
此时i,j都还没有赋值,所以数组a被重新定义为: a(0,0)
呵呵,你后面循环时 i和j都变成了1. 当你给a(1,1)赋值时,当然越界了.
全部回答
- 1楼网友:开心就好
- 2021-03-12 03:58
执行到 if a(i, n + i - 1) > max then 这句时
n=5,i=2,n + i - 1=6 >5 而你定义dim a(5, 5) as integer
好象是n + 1 - i 吧
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯