51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2382|回复: 9
打印 上一主题 下一主题

[原创] 一点小问题请教

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-6-29 15:24:16 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
Dim a(10)
b = 10
For i = 0 to b step 1
        a(i) = i+1
Next
'通过msgbox()函数,察看数组里的数据,但是总是越界,而且不能给出第一个数据
j = 0
For each j in a
    msgbox(a(j))
Next

‘这段代码有问题,那位高人给指教一下,
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

  • TA的每日心情
    开心
    2015-1-8 17:37
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    10#
    发表于 2007-7-2 10:11:44 | 只看该作者
    Dim A(10)
    虽然括号中显示的数字是 10,但由于在 VBScript 中所有数组都是基于 0 的,所以这个数组实际上包含 11 个元素。在基于 0 的数组中,数组元素的数目总是括号中显示的数目加 1。这种数组被称为固定大小的数组。

    在数组中使用索引为数组的每个元素赋值。从 0 到 10,将数据赋给数组的元素,如下所示:

    A(0) = 256
    A(1) = 324
    A(2) = 100
    . . .
    A(10) = 55


    在下例中,MyTable 变量是一个有 6 行和 11 列的二维数组:

    Dim MyTable(5, 10)

    这是vbscript帮助文档里的内容。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    9#
    发表于 2007-7-2 09:51:50 | 只看该作者
    我记得VB定义数组的时候a(10)就是指a(0)~a(10)11个元素,VBs和VB不一样吗?想请教一下for each这个怎么用。

    [ 本帖最后由 jimmy2006.hi 于 2007-7-2 09:55 编辑 ]
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2016-2-27 08:48
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]测试小兵

    8#
    发表于 2007-6-30 23:34:55 | 只看该作者
    原帖由 wu_xcw 于 2007-6-29 15:24 发表
    Dim a(10)
    b = 10
    For i = 0 to b step 1
            a(i) = i+1
    Next
    '通过msgbox()函数,察看数组里的数据,但是总是越界,而且不能给出第一个数据
    j = 0
    For each j in a
        msgbox(a(j))
    Next

    ‘这段代 ...


    说简单一点,Dim a(10) 实际上是定义了 a(0),a(1),...,a(9). 注意:最后一个是a(9),而不是a(10),因为 第一个是 a(0),而不是a(1)!
    根据你的循环,最后一个是a(10) ,当然要报错了。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    7#
     楼主| 发表于 2007-6-29 18:21:11 | 只看该作者
    俺明白了,把for each next 理解错了,呵呵,在高人的指导写已经解决了,谢谢大家了
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6#
    发表于 2007-6-29 16:17:22 | 只看该作者
    是For each j in a
        msgbox(a(j))
    Next
    用的有问题
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    5#
    发表于 2007-6-29 16:13:44 | 只看该作者
    msgbos(a(j-1))sdlkfj3
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    4#
    发表于 2007-6-29 16:11:50 | 只看该作者
    因为j是数组中元素的值,所以执行完变为11,超过了10
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    3#
    发表于 2007-6-29 16:07:31 | 只看该作者
    为什么会出现这个问题呢sdlkfj5
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    2#
    发表于 2007-6-29 15:59:40 | 只看该作者
    把a(i)=i+1改成a(i)=i就行了
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-9-23 22:34 , Processed in 0.079887 second(s), 26 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表