UBound()的疑问

王朝知道·作者佚名  2009-07-16
窄屏简体版  字體: |||超大  
 
分類: 電腦/網絡 >> 程序設計 >> 其他編程語言
 
問題描述:

数组arr中共有40个元素,以下代码是用于计算数组arr中每个元素与其下标相除所得的和,即arr(1)/1 + arr(2)/2 + arr(3)/3 + ... + arr(40)/40

Option Base 1

Function Fun(a() As Single) As Single

Dim i As Integer

Dim sum As Single

sum = 0

For i = 1 To UBound(a)

sum = sum + a(i) / i

Fun = sum

Next

End Function

Private Sub Command1_Click()

Dim arr

Dim arr2(40) As Single

arr = 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 i

r = Fun(arr2())

Text1.Text = Str(r)

SaveData

End Sub

Sub SaveData()

Open "out3.txt" For Output As #1

Print #1, Text1.Text

Close 1

End Sub

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

谢谢!

參考答案:

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

小贴士:① 若网友所发内容与教科书相悖,请以教科书为准;② 若网友所发内容与科学常识、官方权威机构相悖,请以后者为准;③ 若网友所发内容不正确或者违背公序良俗,右下举报/纠错。
 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航