请教:如何解决下标越界问题??
Dim Tt(0 To 20, 0 To 1)For i = 0 To 20
Tt(i, k + 60) = 0.48 * Tt(i + 1, k + 60) + 0.48 * Tt(i - 1, k + 60) + 0.032 * Tt(i, k)
Next i
程序运行时总显示:实时错误9下标越界 应该如何进行修改呢?请赐教! --------------------编程问答-------------------- 没仔细看,不过如果i最后一次等于20
Tt(i + 1, k + 60) 这句里面不就是Tt(21, k + 60)了? 那不就越界了吗? --------------------编程问答-------------------- 你定义的数组是以0作为首地址,所以在for循环中要减1,否则如TT(20)肯定是找不到对象的,因为最后一位是TT(19) --------------------编程问答-------------------- Dim Tt(0 To 20, 0 To 20+60)
For i = 0 To 20
Tt(i, k + 60) = 0.48 * Tt(i + 1, k + 60) + 0.48 * Tt(i - 1, k + 60) + 0.032 * Tt(i, k)
Next i --------------------编程问答-------------------- 看楼上的,
Tt(i + 1 ,这个绝对不会通过的 --------------------编程问答-------------------- 加上错误处理语句,语法严谨些。 --------------------编程问答-------------------- Dim Tt(0 To 20, 0 To 100)
dim k as integer
if k>40 then
msgbox "数据下标越界"
exit sub
end if
For i = 0 To 20
Tt(i, k + 60) = 0.48 * Tt(i + 1, k + 60) + 0.48 * Tt(i - 1, k + 60) + 0.032 * Tt(i, k)
Next i
--------------------编程问答-------------------- 多谢各位提点了!! --------------------编程问答-------------------- Dim Tt(0 To 20, 0 To 1)
0 to 1??????? --------------------编程问答-------------------- k是负数吗? --------------------编程问答-------------------- 不管K是几了,按照楼主的代码,最后一个循环(i=20)时,Tt(i + 1, k + 60)就越界了!
补充:VB , 基础类