請問…以下程式…
Dim Girlfriend(5) As String
Dim UB,LB,U2B,L2B
UB = UBound (Girlfriend)
LB = LBound (Girlfriend)
Dim Boyfriend(5,3) As String
U2B = UBound (Girlfriend, 2)
L2B = LBound (Girlfriend, 2)
為什麼 UB=5 , LB=0 , U2B=3 , L2B=0 呢??
--
[1;32m※ Origin: [33m向 日 葵 [37m<bbs.im.cyut.edu.tw> [m
[1;31m◆ From: [36m140.120.224.23 [m
答案沒錯喔
girlfriend陣列的上限為 5 ==> UB
下限為 0 ==> LB 陣列預設值
UBound(Boyfriend,2)為找出陣列維數為二的上限 3
LBound... 下限 預設值為 0
--
[1;33m※ Origin: [36m奇摩 大摩域 [37m<telnet://bbs.kimo.com.tw> [m
[1;35m◆ From: [1;32m210.243.78.56 [m
嗯…我不太懂上限的意思…U2B=3…是因為boyfriend是5*3…所以如果取正方
型是3*3…因此U2B=3…是這樣嗎??
Dim Upper
Dim MyArray(1 To 10, 5 To 15, 10 To 20) ' 宣告陣列變數。
Dim AnyArray(10)
Upper = UBound(MyArray, 1) ' 傳回 10。
Upper = UBound(MyArray, 3) ' 傳回 20。
Upper = UBound(AnyArray) ' 傳回 10。
我想問的是…如果我的觀念沒錯…但看你的例子…我又不懂了…
Upper = UBound(MyArray, 3) 為什麼會傳回20…??
你宣告的陣列不是10*10*10嗎??是不是應該傳回10呢??
設變數以 l1 -> LBound(MyArray,1) 餘類推
: Dim Upper
: Dim MyArray(1 To 10, 5 To 15, 10 To 20) ' 宣告陣列變數。
l1 u1 l2 u2 l3 u3
: Dim AnyArray(10)
若未指定下標, 預設為 0 => AnyArray(0 To 10)
l1 u1
: Upper = UBound(MyArray, 1) ' 傳回 10。
=>u1=10
: Upper = UBound(MyArray, 3) ' 傳回 20。
=>u3=20
: Upper = UBound(AnyArray) ' 傳回 10。
預設第一維邊界 => UBound(AnyArray,1)
=>u1=10
: 我想問的是…如果我的觀念沒錯…但看你的例子…我又不懂了…
: Upper = UBound(MyArray, 3) 為什麼會傳回20…??
: 你宣告的陣列不是10*10*10嗎??是不是應該傳回10呢??
不是傳回個數, 是傳上下邊界! Bound => 邊界
LBound => Lower Bound
UBound => Upper Bound
直接從英文原意翻會比看中譯本清楚!
--
[1m______________________________________________________本版因有你們而壯大
[32;1m T.L. Cheng 子璉
[31;1m_______________________________________________________________________.
[32;1m請參觀成大資工BBS BASIC 版, 並請支援成立連線轉信 BASIC版及 News Group [m
[33;1m徐昇網&高度平衡網&交集分析 http://feitsui.hyd.ncku.edu.tw/TLCheng/Thiessen/ [m
[36;1m點對點中文短訊&多檔傳遞&語音 http://feitsui.hyd.ncku.edu.tw/TLCheng/Hermes/ [m
--
[m [1m [33mo [31mR [35mi [36mg [37mi [34mN [31m: [m [5m [1m [36m成 [37m大 [32m資 [33m工 [36mB [31mB [37mS [35m站 [m [1m [37m(140.116.247.7) [m
[31m [1m@ [m [37mvlsi1.csie.ncku.edu.tw [35m [1mFrOm [37m: [m 140.116.77.68