作者chinoyan ()
看板Visual_Basic
标题Re: [VB6 ] 排序 Sort 传入阵列有无括号,结果不同
时间Sat Dec 1 05:42:00 2012
※ 引述《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