精易论坛

标题: 提示运行时出错,错误代码1 错误信息:数组成员引用下标超出定义范围! [打印本页]

作者: 星凯    时间: 2017-3-1 15:07
标题: 提示运行时出错,错误代码1 错误信息:数组成员引用下标超出定义范围!
.版本 2
.支持库 iext

.局部变量 a, 文本型
.局部变量 c, 文本型, , "0"
.局部变量 i, 整数型

a = 读配置项 (目录, 节名称, “0”, )
.判断开始 (a ≠ “”)
    c = 分割文本 (a, “:”, )
    组件名称.插入表项 (, , , , , )
    组件名称.置标题 (0, 0, c [2])
    组件名称.置标题 (0, 1, c [4])
    .判断循环首 (a ≠ “”)
        i = i + 1
        a = 读配置项 (目录, 节名称, 到文本 (i), )
        c = 分割文本 (a, “:”, )
        组件名称.插入表项 (, , , , , )
        组件名称.置标题 (i, 0, c [2])
        组件名称.置标题 (i, 1, c [4])
        a = 读配置项 (目录, 节名称, 到文本 (i + 1), )
    .判断循环尾 ()

一开始没有后来自己有了是什么问题??? 电影的源码


作者: 西蒙    时间: 2017-3-1 15:12
数组下标错误  
你得先定义数组数量
作者: BlackMamba    时间: 2017-3-1 15:25
数组超标,例如数组中只有5个数,你且要取第6个,那么就会报错!
作者: 7ian    时间: 2017-3-1 16:12
问题肯定出在c [2]或者 c [4],因为当c数组不足4个的时候就会报错,建议用之前先判断数组成员数
作者: jingyi11023995    时间: 2017-3-1 16:45
一般在操作数组时,先要取出数组成员数,然后判断是否大于或者等于你要取的最大下标。这样写的程序才好。
作者: 星凯    时间: 2017-3-2 13:54
jingyi11023995 发表于 2017-3-1 16:45
一般在操作数组时,先要取出数组成员数,然后判断是否大于或者等于你要取的最大下标。这样写的程序才好。

要怎么写啊
??

作者: jingyi11023995    时间: 2017-3-2 16:35
星凯 发表于 2017-3-2 13:54
要怎么写啊
??

.版本 2

    c = 分割文本 (a, “:”, )
    数组大小=取数组成员数(c)
    .如果真 (数组大小>=4)
        组件名称.插入表项 (, , , , , )
        组件名称.置标题 (0, 0, c [2])
        组件名称.置标题 (0, 1, c [4])


补充内容 (2017-3-2 16:38):
因为你后面用到c [4],所以数组一定要大小等于4才不会越界,加一个判断数组的大小是否大于等于4就行了。这样编的程序才更健壮。编程时尽可能考虑到各种情况都处理好。
作者: 星凯    时间: 2017-3-2 18:25
jingyi11023995 发表于 2017-3-2 16:35
.版本 2

    c = 分割文本 (a, “:”, )

正在预处理现行程序
错误(30): 找不到指定的变量名称“数组大小”。
编译现行易程序失败或被中止!
  木有--那个的
作者: 星凯    时间: 2017-3-2 18:34
jingyi11023995 发表于 2017-3-2 16:35
.版本 2

    c = 分割文本 (a, “:”, )

.版本 2
.支持库 iext

a = 读配置项 (目录, 节名称, “0”, )
.判断开始 (a ≠ “”)
    c = 分割文本 (a, “:”, )
    组件名称.插入表项 (, , , , , )
    组件名称.置标题 (0, 0, c [2])
    组件名称.置标题 (0, 1, c [4])
    .判断循环首 (a ≠ “”)
        i = i + 1
        a = 读配置项 (目录, 节名称, 到文本 (i), )
        c = 分割文本 (a, “:”, )
        组件名称.插入表项 (, , , , , )
        组件名称.置标题 (i, 0, c [2])
        组件名称.置标题 (i, 1, c [4])

作者: jingyi11023995    时间: 2017-3-2 21:50
星凯 发表于 2017-3-2 18:34
.版本 2
.支持库 iext

你刚接触易语言的吧?
变量自己加上去呀。

补充内容 (2017-3-2 21:51):
很怀疑你那些代码是你写的吗?




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4