为了账号安全,请及时绑定邮箱和手机立即绑定

请问这里的UBound()是什么意思呢?是不是指数组的最大下标(即i=30时,最大的下标就为30)?

请问这里的UBound()是什么意思呢?是不是指数组的最大下标(即i=30时,最大的下标就为30)?

C
茅侃侃 2023-03-31 17:13:54
数组arr中共有40个元素,以下代码是用于计算数组arr中每个元素与其下标相除所得的和,即arr(1)/1 + arr(2)/2 + arr(3)/3 + ... + arr(40)/40Option Base 1Function Fun(a() As Single) As SingleDim i As IntegerDim sum As Singlesum = 0For i = 1 To UBound(a)sum = sum + a(i) / iFun = sumNextEnd FunctionPrivate Sub Command1_Click()Dim arrDim arr2(40) As Singlearr = Array(12.5, 65.4, 56, 73, 46.23, 58.25, 83.49, 96, 27.3, 36.78, 29.26, 89.4, 34.7, 45.4, 56.9, 67.4, 78, 98, 87.5, 76.8, 34.6, 55.8, 64.7, 43.7, 99.4, 84.7, 66.2, 23.9, 55.5, 44.1, 33.2, 43.5, 41.2, 28.3, 78.6, 98.3, 56.1, 73.6, 49.3, 48.3)For i = 1 To UBound(arr)arr2(i) = arr(i)Next ir = Fun(arr2())Text1.Text = Str(r)SaveDataEnd SubSub SaveData()Open "out3.txt" For Output As #1Print #1, Text1.TextClose 1End Sub谢谢!
查看完整描述

2 回答

?
阿晨1998

TA贡献2037条经验 获得超6个赞

你猜对了,UBound()是求数组的最大下标值,当i=30时,最大下标仍为40,因为程序的第13行“Dim arr2(40) As Single”把数arr2定义了40个元素,所以最大下标值为40。

查看完整回答
反对 回复 2023-04-03
?
拉丁的传说

TA贡献1789条经验 获得超8个赞

UBound函数
返回一个 Long 型数据,其值为指定的数组维可用的最大下标。

语法

UBound(arrayname[, dimension])

UBound 函数的语法包含下面部分:

部分 描述 
arrayname 必需的。数组变量的名称,遵循标准变量命名约定。 
dimension 可选的;Variant (Long)。指定返回哪一维的上界。1 表示第一维,2 表示第二维,以此类推。如果省略 dimension,就认为是 1。 

说明

UBound 函数与 LBound 函数一起使用,用来确定一个数组的大小。LBound 用来确定数组某一维的上界。

对具有下述维数的数组而言,UBound 的返回值见下表:

Dim A(1 To 100, 0 To 3, -3 To 4)

语句 返回值 
UBound(A, 1) 100 
UBound(A, 2) 3 
UBound(A, 3) 4

查看完整回答
反对 回复 2023-04-03
  • 2 回答
  • 0 关注
  • 95 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信