易语言数组成员引用下标超出定义范围求解决啊

2021-03-10 08:53:12 字数 3227 阅读 1318

1楼:匿名用户

错误原因:你复

的”大制体**内容“这个字节集估bai计是空的(没有获取du到),

zhi或者中间没有中文冒号这dao个字节集,这样的话分割之后肯定就不成为数组了对吧,也就是数组成员数为0,而你下一行**直接使用了 分割内容[1],引用了一个不存在的数组元素,肯定会错误。

改进方法:

在使用分割内容[1]之前,先检查数组的成员数,用命令“取数组成员数()”即可,然后判断它的值是不是>0,然后再引用数组元素。(以后编程使用数组前都要检查,这样不容易出bug。)

如果你的大体**内容肯定是含有中文冒号这个字节集的...那就是你之前的取回数据那里出了故障,取回的数据是空的..检查检查。

但是也要看看方法1中,最好写一个异常处理,否则一旦崩溃程序就挂了。

全手打。望采纳!

2楼:匿名用户

1l说的很详细,简单点说就是因为没有分割到东西,所以这个数组是空数组(0),下标为1就超出范围报错了.

3楼:贡颜节香菱

数组不能这样赋值的。有个命令叫

加入成员(,)

易语言运行时错误:数组成员引用下标超出定义范围,求助!

4楼:小樓思雨

你按我这bai样写就不会出错了du,你的之所以出错,是因为zhi你“编辑框1”的内dao容小于3行!

.版本版2

.程序集变量分数权设定,文本型

.程序集变量金币设定,文本型

.程序集变量姓名设定,文本型

.程序集变量a,文本型,,"0"

.子程序_按钮1_被单击

.局部变量数组成员数,整数型

a=分割文本(编辑框1.内容,#换行符,)数组成员数=取数组成员数(a)

.如果真(数组成员数<3)

输出调试文本(“数组成员数小于3”)

返回()

.如果真结束

分数设定=a[1]

金币设定=a[2]

姓名设定=a[3]

易语言 数组成员引用下标超出定义范围

5楼:d尘封de青春

这是因为所取值的范围超出了数据库里的数据,就是没有依靠数据库中的数据取值,这样肯定会出现这种提示,比如数据库里只有两个数据1和2,但是所编程的程序里取值3,这样就会导致数据库识别不出,然后呈程序中断

一般的易语言程序员会在用正则表达式、分割文本,从网络中获取文本进行分割时出现数组成员引用下标超出定义范围

扩展资料

可以采用如下建议防止数组成员引用下标超出定义范围导致程序意外退出

方法很简单,就是在取数组成员的时候先判断一下数组成员数是否正常。你需要用到的命令是,取数组成员数(),易语言中有该函数的详细说明!

举个例子:

我们想采集某个**的内容,这个**内容包含的有标题、作者、发布时间、内容。我们用正则表达式采集的时候发现程序提示数组成员引用下标超出定义范围

解决方法是在我们要取正则表达式获取的内容之前先判断一下取数组成员数是否等于4,如果等于4我们就直接取内容,如果不等于4那么我们只取3个内容,自己把作者补起来,或者直接跳过该页面去取正常格式的**内容。

6楼:匿名用户

1、这里说的是要取的数组元素,在数组中不存在。

2、比如定义了一个5元素的数组,用得时候去取第6个元素,就会造成上述错误。

3、另外,e语言数组下标是从1开始的,如果取第0个元素,也是错的。

4、图示:

5、修改方法:取定义范围内的元素或扩大数组范围。

7楼:匿名用户

按照你说的,如果是提示数组成员引用下标超出定义范围的话,应该是返回数组的问题,一旦返回数组的成员不到3个,那么你写的返回数组 [3]就会提示那样的错误,你检查下返回数组的成员数吧。

8楼:匿名用户

错误原因:你的”大体**内容“这个字节集估计是空的(没有获取到),或者中间没有中文冒号这个字节集,这样的话分割之后肯定就不成为数组了对吧,也就是数组成员数为0,而你下一行**直接使用了 分割内容[1],引用了一个不存在的数组元素,肯定会错误。

改进方法:

在使用分割内容[1]之前,先检查数组的成员数,用命令“取数组成员数()”即可,然后判断它的值是不是>0,然后再引用数组元素。(以后编程使用数组前都要检查,这样不容易出bug。)

如果你的大体**内容肯定是含有中文冒号这个字节集的...那就是你之前的取回数据那里出了故障,取回的数据是空的..检查检查。

但是也要看看方法1中,最好写一个异常处理,否则一旦崩溃程序就挂了。

全手打。望采纳!

9楼:匿名用户

1l说的很详细,简单点说就是因为没有分割到东西,所以这个数组是空数组(0),下标为1就超出范围报错了.

e语言程序运行时出错,错误信息:数组成员引用下标超出定义范围

10楼:

1,原因:因为取出的数组成员不存在,假设要取的数组只有2个成员,取了第专3个成员,那样肯定会提属示这种错误的。

2,一般的易语言程序员会在用正则表达式、分割文本,从网络中获取文本进行分割时出现数组成员引用下标超出定义范围。

3,防范方法很简单,就是在取数组成员的时候先判断一下数组成员数是否正常。

需要用到的命令是,取数组成员数(),易语言中有该函数的详细说明。

11楼:匿名用户

就是程序的数

组超过bai了du

!!@如!我给 变量1赋予

zhi数值!!!

然后 变量1 拥有 5个数dao组而你程序中由于版**循环!!到一个权步骤

成了 取变量1的第6个数组!!而我们只给予了5个数组!没有6号数组!就是这个意思!!

解决方法!!加上**取变量数组!!在**中加上不能超过数组!就可以了!!

易语言程序:数组成员引用下标超出定义范围,怎么解决??(具体情况如下)

12楼:登进士第时光

把 局部变量 b, 文本复

型, , "2" 改为0.计次循环制首 (取数组成员数 (b), d) c = 超级列表框1.插入表项 (, , , , , ) 超级列表框1.

置标题 (c, d-1, b [d]) .计次循环尾 ()