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 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 之间的一条或多条语句,它们将被执行指定的次数。
数组没有赋值