vb 数组的小问题

来源:百度知道 编辑:UC知道 时间:2024/09/21 16:47:24
Dim p(0 To 4) As Integer

For p(0) = 1 To 9
For p(1) = 0 To 9
For p(2) = 0 To 9
For p(3) = 0 To 9
If 16 = p(0) + p(1) + p(2) + p(3) Then
p(4) = p(0) * 1000 + p(1) * 100 + p(2) * 10 + p(3)
Print Str(p(4))
End If
Next p(3)
Next p(2)
Next p(1)
Next p(0)

这是为了输出所有四位数中各位加起来等于16的过程,但是我运行就会出现 错误提示:“for control控件变量已在使用”,我把p(1),P(2),p(3)
分别换成X,Y,后似乎就没问题了。
能告诉我问题出在哪里吗?

for ... next的变量 不能用布尔或数组元素

counter 必要参数。用做循环计数器的数值变量。这个变量不能是布尔或数组元素。

见MSDN帮助:

For...Next 语句

以指定次数来重复执行一组语句。

语法

For counter = start To end [Step step]
[statements]
[Exit For]
[statements]

Next [counter]

For…Next 语句的语法具有以下几个部分:

部分 描述
counter 必要参数。用做循环计数器的数值变量。这个变量不能是布尔或数组元素。
start 必要参数。counter 的初值。
End 必要参数,counter 的终值。
Step 可选参数。counter 的步长。如果没有指定,则 step 的缺省值为 1。
Statements 可选参数。放在 For 和 Next 之间的一条或多条语句,它们将被执行指定的次数。

数组没有赋值