作业帮 > 综合 > 作业

Dim a, i% a=array(1,2,3,4,5,6,7) For i =Lbound(a) to Ubound(

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/04/30 08:29:57
Dim a, i% a=array(1,2,3,4,5,6,7) For i =Lbound(a) to Ubound(a) a(i)=a(i) *a(i) next i print a(i)
下标越界了,为什么啊
你定义的变量a是一个变量,应该定义成数组啊. 另外要考虑a(0)的问题,你是想使用a(0)~a(6)这七个分量还是想使用a(1)~a(7)这七个分量.
再问: a 已经是一个可变数组了啊,而且是用内部函数Lbound(a) 、 Ubound(a) 来获取下标的下上界的啊,怎么会越界?
再答: 下标越界的原因是由于i是循环变量,当执行完For i=Lbound(a) to Ubound(a)循环后,i的值应该是Ubound(a)+1,也就是7,而你所定义的数组下标只是从0到6,所以在最后一个print a(i)时,找不到a(7),自然就越界了。