VB 下标交叉边界

发布于 科技 2024-08-07
10个回答
  1. 匿名用户2024-01-31

    dim a(20) 你不声明它是什么类型,VB 默认为 variant type,从 0 到 20 有 21 个元素,而不是 0 到 19,这与其他语言不同,上标是 20。

    在下一个 k 之后,k 加 1。

    for k = 1 to 19

    a(k) = k ^ 2

    当下一个 k'k 为 20 时退出循环。

    打印 A(K),其中 k 的值为 20,但 a(20) 未初始化或赋值,估计为 0

    然后:对于 k = 1 到 20

    a(k) = k ^ 2

    next k

    打印 a(k) 此时,k 为 21,明显超过了 a 20 的上限,说它越界自然是错误的。 K-1,当然不会有问题。

  2. 匿名用户2024-01-30

    option base 1

    private sub form_click()dim a(20)

    for k = 1 to 19

    a(k) = k ^ 2

    next k

    print a(k)

    end sub

    输出是什么?

    输出为 a(19),即 19*19

    option base 1

    private sub form_click()dim a(20)

    for k = 1 to 20

    a(k) = k ^ 2

    next k

    print a(k)

    end sub

    输出是什么?

    这是一个问题,顶部是我的问题。 我尝试了 VB,但不知道为什么。

    您的定义数组是 a(20)。

    默认值是 a(0)-a(19) 的 20 个数组,a(20) 当然是越界的。

  3. 匿名用户2024-01-29

    数组元素和集合成员只能在定义的范围内访问。 下标可能大于或小于下标范围,或者应用程序这一侧的数组可能没有指定的范围。 检查数组的声明以确认其上限和下限。

    如果使用的是重新作用域的数组,则应使用 ubound 和 lbound 函数来确定数组访问。 如果将索引指定为变量,则应检查变量名称的拼写。

    以一个简单的一维数组为例:int a[10]; 这是一个整数数组 a,有 10 个元素:a[0]-a[9],因为正确的下标应该从 0 开始,以 9 结尾,这与习惯上的 1-10 不同,所以会产生 a[10] 错误,即数组下标越界。

  4. 匿名用户2024-01-28

    它是越界的数组,它使用了一个不存在的数组下标,也就是说,如果你定义了 a(9),那么你最多只能使用 0 到 9 的 10 个数字作为 a(?)您可以在程序中判断您使用的下标是否大于定义的数字,例如 a(i) if i>ubound(a) then msgbox"如果 i 的值大于数组 a 的定义,请检查"

  5. 匿名用户2024-01-27

    这意味着你所引用的数组超出了你定义的数组的范围,比如你定义了 a[10][10],你最多只能使用 a[9][9],如果使用 a[9][10],就会出现“下标越界”,因为数组的下标从 0 开始, 而下标从1开始定义,如果还是不明白,可以去本书看看。

  6. 匿名用户2024-01-26

    只是不能继续操作,直接回车键加ken抽水就可以回,直接出界**。

  7. 匿名用户2024-01-25

    您的图表超出了可用于绘图的边界。

  8. 匿名用户2024-01-24

    下标越界是什么意思? 我真的不知道这意味着什么,这到底是什么。

  9. 匿名用户2024-01-23

    VB 中的实时错误意味着什么,不要犯同样的错误。

  10. 匿名用户2024-01-22

    dim arr() as byte 语句只是一个类型声明,它并没有声明 arr 数组中的元素数,所以它实际上并没有打开数组存储空间,以后用的时候也没有办法写入数组。

    这就是错误的本质。 知道错误是如何犯的,这很容易做到。 因为最初我们不知道这个数组有多少个元素,即元素的数量是动态的,取决于温度的长度,所以我们只能动态地声明它。

    因此,我们需要在使用 arr 数组元素之前使用 redim 语句声明它的作用域。 我们可以看到程序中的 n 是数组元素 -1 的元素数,我们的数组下标从 0 开始,最大下标正好是 n,所以在计算出 n 之后,我们可以在回收之前使用 redim 重新声明它。

    也就是说:只需在 n = len(temp) 2 - 1 语句和 for i = 0 到 n 语句之间插入一行 redim arr(n)。

相关回答
7个回答2024-08-07

退出while的条件由rs条数控制,但记录数可能超过x数组的上限,导致j=j+1越界,所以j=j+1应该控制: >>>More

16个回答2024-08-07

在VB中,数组第一个元素的下标默认值为0,即c(8)最后一个元素的下标为7,没有8,i=8当然下标越界了! >>>More

5个回答2024-08-07

在Excel中,VBA指示下标越界,指示对象不存在或数组元素不存在。 >>>More

10个回答2024-08-07

通常,在引用工作簿或工作表时,最好直接引用名称,有时必须先激活工作簿或工作表,然后才能使用某些属性或方法(但不是全部)! 否则,很容易犯像问题这样的错误。

9个回答2024-08-07

答案补充道:兄弟,你在前面定义了nfilenun,后来用的时候写成nfilenum,用的时候发现了问题吧? 最后一个字母是不一样的。 >>>More