作者hatvito (please get中島銀)
看板TransCSI
標題[問題] 傳址傳值
時間Fri Jul 8 22:17:37 2011
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
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
問題是出在A
A執行結果是1
也就是說A收到的零
為什麼呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.26.58.170
→ zerof:x= x+x 裡面的等號是compare的意思(所以值傳入0) 07/22 20:20
→ CaptainH:常數0怎麼reference ? 11/17 02:09