數組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。

拉丁的傳說
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
- 2 回答
- 0 關注
- 188 瀏覽
添加回答
舉報
0/150
提交
取消