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)程序出错
麻烦写出详细解释。 展开
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)程序出错
麻烦写出详细解释。 展开
3个回答
展开全部
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答案
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答案
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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
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
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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)是越界的
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)是越界的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询