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)

下标越界了,为什么啊... 下标越界了,为什么啊 展开
 我来答
本无才
2012-06-28 · TA获得超过350个赞
知道小有建树答主
回答量:233
采纳率:50%
帮助的人:137万
展开全部
你定义的变量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),自然就越界了。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式