| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2085 人关注过本帖
标题:为什么会出现下标越界?
只看楼主 加入收藏
青年刘
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2015-4-6
结帖率:100%
收藏
 问题点数:0 回复次数:5 
为什么会出现下标越界?
dim b(12) as string
For m = Asc("a") To Asc("j")
    If m <= Asc(maxchezubianhao) Then
       For j = 0 To 12
         j = (j + 1) Mod 13
                If Jend = j Then
                       Jend = lastfallindex
                       Exit For
               ElseIf Chr(m) = b(j - 1) Then
                     Fallmatrix(i, j - 1) = Chr(m)
                     lastfallindex = j - 1
               End If
       Next j
       m = m + 1
       For n = lastfallindex + 1 To 12
          If Chr(m) = b(n) Then
             Fallmatrix(i, n) = Chr(m)
          End If
       Next n
    i = i + 1
    Else
     Exit For
   End If
   m = m - 1
 Next m
那个 ElseIf Chr(m) = b(j - 1) Then    b(j-1) 为什么会出现下标越界?
2015-04-29 10:02
lianyicq
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:26
帖 子:737
专家分:3488
注 册:2013-1-26
收藏
得分:0 
For j = 0 To 12
         j = (j + 1) Mod 13
                If Jend = j Then
                       Jend = lastfallindex
                       Exit For
               ElseIf Chr(m) = b(j - 1) Then
                     Fallmatrix(i, j - 1) = Chr(m)
                     lastfallindex = j - 1
               End If
       Next j
以上循环过程中改变了循环变量j,每次next j前,j值逐次为:1 3 5 7 9 11 0 2 4 6 8 10 12.当j=0时b(j-1)当然下标越界

大开眼界
2015-04-29 10:39
青年刘
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2015-4-6
收藏
得分:0 
我定义了b(12)  一共13个数,难道不对吗?
2015-04-29 11:46
lianyicq
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:26
帖 子:737
专家分:3488
注 册:2013-1-26
收藏
得分:0 
b(12)是b(0)至b(12),是13个.但不会存在b(-1).
运行到j=0时,b(j-1)越界

大开眼界
2015-04-29 11:53
renxiaoyao36
Rank: 9Rank: 9Rank: 9
来 自:七宝中学
等 级:贵宾
威 望:31
帖 子:347
专家分:1077
注 册:2014-9-18
收藏
得分:0 
下标不能低于0,建议加上If j>=1
但是由于你之前有IF语句了,所以建议自行将IF语句的嵌套做下注释

编程蛋疼的不是枯燥,而是辛辛苦苦编完几百行的代码,运行,“Runtime Error “xxx””。
2015-04-30 18:35
陌上过客
Rank: 2
等 级:论坛游民
威 望:4
帖 子:36
专家分:25
注 册:2015-12-27
收藏
得分:0 
回复 3楼 青年刘
一共13个数的确没错,但是范围是0到12 而不是13

你成了我用尽一生去纪念的过客。。。。
2015-12-28 14:16
快速回复:为什么会出现下标越界?
数据加载中...
 
   



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

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