VB 急!小问题

以下程序输出的结果是()Dima,i%a=Array(1,2,3,4,5,6,7)Fori=LBound(a)ToUBound(a)a(i)=a(i)*a(i)Nexti... 以下程序输出的结果是()
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) 49 (B) 0 (C) 不确定 (D)程序出错
麻烦写出详细解释。
展开
 我来答
百度网友92af02f
2008-06-17 · 超过17用户采纳过TA的回答
知道答主
回答量:60
采纳率:0%
帮助的人:45.2万
展开全部
LBound 函数 返回一个 Long 型数据,其值为指定数组维可用的最小下标。语法LBound(arrayname[, dimension])LBound 函数的语法包含下面部分:部分描述arrayname必需的。数组变量的名称,遵循标准的变量命名约定。dimension可选的;Variant (Long)。指定返回哪一维的下界。1 表示第一维,2 表示第二维,如此类推。如果省略 dimension,就认为是 1。说明LBound 函数与 UBound 函数一起使用,用来确定一个数组的大小。UBound 用来确定数组某一维的上界。对具有下述维数的数组而言.
For i = LBound(a) To UBound(a) '所以i的值为2-7
a(i) = a(i) * a(i) ’求a(i)的平方,如a(2)=a(2)*a (2),就是a(2)就等于它自己的平方,直到循环到7,a(7)=a(7)*a(7)及7*7=49
所以print a(i)就等于49,A答案
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jyh_jack
2008-06-17 · TA获得超过4194个赞
知道大有可为答主
回答量:2080
采纳率:100%
帮助的人:2805万
展开全部
Private Sub Command1_Click()
Dim a, i%
a = Array(1, 2, 3, 4, 5, 6, 7)
For i = LBound(a) To UBound(a) 'i=0 to 6
a(i) = a(i) * a(i) 'a(0)=a(0)*a(0)=1*1=1 a(1)=a(1)*a(1)=2*2=4 ....
Next i '最后一步,当i=6时,运行i=i+1=7,然后到for那一行,发现i的范围是0-6,i=7超出了,所以退出循环
Print a(i) '由于i=7,但是a数组最大的上标是6,超过了,所以程序出错
End Sub
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
joka2002
2008-06-17 · TA获得超过245个赞
知道小有建树答主
回答量:421
采纳率:0%
帮助的人:484万
展开全部
D 程序下标越界了。
For i = LBound(a) To UBound(a)
a(i) = a(i) * a(i)
Next i
循环中,当i=UBound(a)即7的时候是执行了最后一次,然后是next i,i为8,循环结束,可是再next i 下面的a(i)的下标为7,a(8)是越界的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式