| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1805 人关注过本帖
标题:二重循环,显示下标越界
只看楼主 加入收藏
小麦哥
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2018-3-14
结帖率:50%
收藏
已结贴  问题点数:18 回复次数:5 
二重循环,显示下标越界
dim AG(),ABG(21, 21)
 AG = Array(0, 0.027815, 0.189065, 0.0793, 0.141239, 0.3325, 0.0885, 0.034369, 0.038953, 0.021, 0.256692, 0.281835, 0.332267, 0.366911, 0.289731, 0.337542, 0.383381, 0.427354, 0.469659, 0#, 0#)
    For i = 1 To 21
 For j = 1 To 21
  ABG(i, j) = (AG(i) + AG(j)) / 2
  Next j
  Next i
AG()为一维数组,通过Array输入21个数值,为何显示j=22,且AG()下标越界
搜索更多相关主题的帖子: 循环 显示 越界 For Next 
2018-05-05 16:24
wds1
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:49
帖 子:393
专家分:2025
注 册:2016-3-10
收藏
得分:6 
array给数组赋值,数组下标从0开始,起始下标不是1。

AG数组为:AG(0) ....AG(20)

for 循环内AG(i-1)、AG(j-1)

for j=1to 21 默认步长1,当j=21,再next时,j=22,此时跳出for循环。





[此贴子已经被作者于2018-5-5 17:51编辑过]

2018-05-05 17:48
小麦哥
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2018-3-14
收藏
得分:0 
回复 2楼 wds1
前面用了 option base 1,不是从1开始了吗
2018-05-05 20:37
wds1
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:49
帖 子:393
专家分:2025
注 册:2016-3-10
收藏
得分:0 
如果在同一模块定义了 Option Base 1,那么上面的写法没问题。

我的程序运行正常,没有报错。
Option Base 1

Private Sub Command1_Click()
Dim AG(), ABG(21, 21)
 AG = Array(0, 0.027815, 0.189065, 0.0793, 0.141239, 0.3325, 0.0885, 0.034369, 0.038953, 0.021, 0.256692, 0.281835, 0.332267, 0.366911, 0.289731, 0.337542, 0.383381, 0.427354, 0.469659, 0#, 0#)
    For i = 1 To 21
 For j = 1 To 21
  ABG(i, j) = (AG(i) + AG(j)) / 2
  Next j
  Next i
End Sub


2018-05-05 21:47
ZHRXJR
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:125
帖 子:1034
专家分:5519
注 册:2016-5-10
收藏
得分:6 
Dim ABG(1 tO 21, 1 to 21) '这样将没有问题了。

请不要选我!!!
2018-05-05 22:13
Artless
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:4211
专家分:28888
注 册:2009-4-8
收藏
得分:6 
j=22时ABG(i, j) = (AG(i) + AG(j)) / 2并没运行!

无知
2018-05-06 20:45
快速回复:二重循环,显示下标越界
数据加载中...
 
   



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

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