| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 414 人关注过本帖
标题:菜鸟请教变量的值的问题
只看楼主 加入收藏
te5t
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2013-3-28
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:6 
菜鸟请教变量的值的问题
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?先谢过。
2013-04-09 21:45
lowxiong
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:27
帖 子:653
专家分:3402
注 册:2008-5-7
收藏
得分:8 
变量是其表示的值可变,不是变量名称随便变。在一个程序、过程、子程序中,变量名在其作用范围内是唯一确定的,不能通过变量的变量来改变变量名称。你例子中要想得到正确的值,语句应该是MsgBox num0(k)
2013-04-09 22:39
te5t
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2013-3-28
收藏
得分:0 
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)变量呢?
2013-04-10 08:34
好聚好散
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:138
专家分:123
注 册:2012-12-4
收藏
得分:0 
。。。。

无节操,无真相
2013-04-10 08:39
shmily009
Rank: 1
等 级:新手上路
帖 子:6
专家分:5
注 册:2007-3-10
收藏
得分:2 
你那个MSGBOX 后面的根本就是拼个字符串。。。如果你非要这样实现,可以试试EbExecuteLine~
2013-04-10 09:21
lowxiong
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:27
帖 子:653
专家分:3402
注 册:2008-5-7
收藏
得分:0 
回复 3楼 te5t
你仍然没有弄清楚变量名和变量值的区别。
变量名称实际上在计算机高级语言阶段只是一个符号,在编译后就指向一个内存地址了,而你定义的那个符号就毫无意义了。"num" & j & "(" & k & ")"是一个字符串运算的表达式,它只会得到一个运算结果,而不会再把这个运算结果指向变量名所表示的变量值。
2013-04-10 09:48
te5t
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2013-3-28
收藏
得分:0 
回复 6楼 lowxiong
是我表述不清楚,对不起。
我就是想把这运算结果再变成变量名,或者说是想把这运算结果做为指针指向到那个变量,实现引用的功能。
2013-04-10 09:56
快速回复:菜鸟请教变量的值的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024344 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved