注册 登录
编程论坛 VB6论坛

菜鸟请教变量的值的问题

te5t 发布于 2013-04-09 21:45, 414 次点击
Private Sub Command4_Click()
Dim i As Integer
Dim j As Integer
Dim k As Integer
Dim num0(29) As String
num0(0) = "000000000011111111000111000000"
For i = 0 To 3
    For j = 0 To 9
        For k = 0 To 29
            MsgBox "num" & j & "(" & k & ")"
        Next
    Next
Next
End Sub
这个实验的时候出来的是num0(0),不是000000000011111111000111000000。请问这是怎么回事呢?要怎样才能出来000000000011111111000111000000?先谢过。
6 回复
#2
lowxiong2013-04-09 22:39
变量是其表示的值可变,不是变量名称随便变。在一个程序、过程、子程序中,变量名在其作用范围内是唯一确定的,不能通过变量的变量来改变变量名称。你例子中要想得到正确的值,语句应该是MsgBox num0(k)
#3
te5t2013-04-10 08:34
MsgBox "num" & j & "(" & k & ")"转换后是MsgBox num0(k)啊。我的想法是MsgBox num0(k=0)应该输出000000000011111111000111000000,只不过调试时输出了"num(0)"这6个字符,并没有输出前面定义的num0(0) 中的值000000000011111111000111000000。也就是说这里MsgBox num0(0)中的num0(0)成了字符串,不是变量名了。应该怎么才能使它等于前面定义的num0(0)变量呢?
#4
好聚好散2013-04-10 08:39
。。。。
#5
shmily0092013-04-10 09:21
你那个MSGBOX 后面的根本就是拼个字符串。。。如果你非要这样实现,可以试试EbExecuteLine~
#6
lowxiong2013-04-10 09:48
回复 3楼 te5t
你仍然没有弄清楚变量名和变量值的区别。
变量名称实际上在计算机高级语言阶段只是一个符号,在编译后就指向一个内存地址了,而你定义的那个符号就毫无意义了。"num" & j & "(" & k & ")"是一个字符串运算的表达式,它只会得到一个运算结果,而不会再把这个运算结果指向变量名所表示的变量值。
#7
te5t2013-04-10 09:56
回复 6楼 lowxiong
是我表述不清楚,对不起。
我就是想把这运算结果再变成变量名,或者说是想把这运算结果做为指针指向到那个变量,实现引用的功能。
1