VB下标越界问题,改错!!各位高手来救我啊!

2024-11-07 06:41:37
推荐回答(3个)
回答(1):

For j = 1 To n
b = b * j
bb(j) = b
Next j
当你这陆带段执行完了后,j=n+1,同理,i=m+1了
而你定义的的 bb(1 To n) ,最后c = aa(i) /液悉差 (bb(j) * (m - n)) 相当于是c = aa(i+1) / (bb(j+1) * (m - n)) .所以当然是闹皮越界了.
把c = aa(i) / (bb(j) * (m - n)) 改为
c = aa(i-1) / (bb(j-1) * (m - n)) 好了

回答(2):

一楼正解;还有的是:
这程序有问题吧??
Dim m!, n!, a!, i!, b!, j!, c 应该销虚放在声明。
要不怎样执行
Private Sub Label3_Click()
Lebel3.Caption = n
End Sub ?
b = 1 放在顶局斗闹端比较合规桐罩范。

回答(3):

c = aa(i) /辩拿 (bb(j) * (m - n))
程纯旁序运行到这一句时,i=m+1,j=n+1,都做灶橡超过了定义的数组的上限。应该改为:
c = aa(i-1) / (bb(j-1) * (m - n))