看板 Visual_Basic 關於我們 聯絡資訊
※ 引述《deo2000 (800IM)》之銘言: : nArrScore 是原始資料陣列 : 1.Sort nArrScore nArrScore被改變 : 2.Sort (nArrScore) nArrScore不改變 : 請問為什麼會這樣呢??? : -------------------------------------------- : Function Sort(ByRef p_nArr) : Dim i, j As Integer : Dim nTemp As Integer : For i = 0 To 40 - 1 : For j = i To 40 - 1 : If p_nArr(i) < p_nArr(j) Then : nTemp = p_nArr(i) : p_nArr(i) = p_nArr(j) : p_nArr(j) = nTemp : End If : Next j : Next i : End Function : -------------------------------------------- Private Sub Form_Load() Dim A As Long MsgBox Hex(VarPtr(A)) Sort (A) MsgBox A Call Sort(A) MsgBox A End Sub Sub Sort(ByRef p_nArr As Long) MsgBox Hex(VarPtr(p_nArr)) p_nArr = 1 End Sub 你可以跑跑看,二次的差別, 雖然VB本身對語法要求不嚴謹,但如果你可以像寫C一樣嚴謹的要求 來要求自己寫VB,問題會少很多 Option Explicit <<一定要加 確實宣告變數形別,該Private Public 弄好 該用 Function OR SUB 就用什麼,有回傳值(),沒有不() 這些習慣建立後,會對往後寫程式幫助很大 -- ████ █ ★ ████ █ █ █ █ █ █ █ █ █ 超 級 熱 烈 歡 迎 █ ████ █ █ █ ████ █ █ █ █ █ ███★ █ █ 歡迎到嘉義版! ★███ █ █ █ █ █ █ █ 訊馳電腦-路徑嘉義市林森西路496號(05)2244-526順發斜對面 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.127.140.29