看板 Visual_Basic 關於我們 聯絡資訊
Private Sub Form_Activate( ) DIM X as Integer X=3 Call F1(X) Debug.Print(X) End Sub Sub F1( ByRef X As Integer ) Call T2 ( X=X+X , X , X ) End Sub Sub T2(ByRef A As Integer ,ByVal B As Integer , ByRef C As Integer ) A = A + 1 : B = B + 2 : C = A + B * C End Sub 執行結果為16,請問16要怎麼算呢?? 一開始呼叫F1函數,再呼叫T2,其中X=X+X會傳什麼值過去給T2呢?謝謝各位前輩 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.64.171.167
apple:善用F8,它會給你解答的.... 06/26 15:52
MOONRAKER:祗W您了,我這週也很煩,不過沒人來鬥爭我,倒是不錯 06/26 16:22
stator:請教一樓a大,我有試過,只是為什麼在T2,A的值為1呢? 06/26 16:35
stator:因為運算式傳過去是沒有意義的值嗎? 06/26 16:36
apple:其實呢...我也想知道( ̄□ ̄|||)a 06/26 17:02
horngsh:即使用是byref, 如果傳運算式, 仍然被視為ByVal,希望沒說 06/26 17:09
horngsh:錯 06/26 17:09
stator:謝謝h大 06/26 17:14
apple:但實際上傳過去的是0...如用x=x,則傳-1...why? 06/26 17:23
MOONRAKER:天啊…現在才看到上面推錯了… 06/26 21:26
stator:我也不懂,為什麼會是-1~ 06/27 10:25
stator:樓下的S大已經解了。謝謝 06/27 10:28