vb左右对称问题

来源:百度知道 编辑:UC知道 时间:2024/05/16 06:04:45
Private Sub form_click()
Dim a(1 To 4)
Dim k As Integer, m As Integer
For k = 1 To 99
m = k * k
i = 0
While m
i = i + 1
a(i) = m Mod 10
m = m \ 10
Wend
j = 1
While a(i) = a(j) And j <= i
j = j + 1
i = i - 1
Wend
If j >= i Then Print k
Next k
End Sub
请问这段代码的原理是什么?为什么我运行不出来呢?老是提示i的下标越界.

m = k * k
i = 0
While m
i = i + 1
当k=3时,m=9,下面的i=i+1会从0到9,但你的a(i)的下标最多到4,当然要下标越界了。
因此你要把一开始的定义a(1 to 4)改成a(1 to 10000).