作者terryporter (月光光心慌慌)
看板Visual_Basic
標題問一個白癡Call By Value問題
時間Tue Feb 13 21:14:06 2007
有一傳值呼叫疑問請各位高手協助一下
我自學至今觀念還不是很清楚
Sub ADD (X,ByVal Y)
X=X^2 : Y=Y^2
End Sub
Private Sub
Form_Activate()
A=2:B=3
Call ADD (A+B,B)
Print A,B
End Sub
答案是 2 , 3
B有Call ByValue是沒問題
但是X沒有阿??請各位高手解惑一下 謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.57.99.156
1F:推 BearWu:這樣子是不是只有PRINT出來,實際上ADD有代進去,但沒PRINT 02/13 21:38
2F:推 terryporter:啥意思? 02/13 21:56
3F:→ nobody1:add function 是空的 02/13 22:09
4F:→ terryporter:抱歉我漏打一行 補上去 X^2 Y^2 02/13 22:20
※ 編輯: terryporter 來自: 61.57.99.156 (02/13 22:21)
5F:推 fumizuki:vb6的預設是 Call By Reference 02/14 06:45
6F:→ terryporter:然後? 02/14 14:00
7F:推 sjgau:但是,你的主程式 呼叫副程式的時候,對應的參數是 02/14 19:28
8F:→ sjgau:常數,(), 數學運算式的時候,就變成 call by reference 02/14 19:29
9F:推 diolin:當傳進的, 不是單一變數時, 一律都是用 Call by Value 02/15 23:09
10F:推 diolin:不然傳個數字123進去, 要referance到哪去 :) 02/15 23:16
11F:推 fumizuki:是否可以說是把數字當作常數傳入,一樣是 byref 02/17 12:14
12F:推 fumizuki:沒有寫byval 都一律使用byref傳遞0.0 02/17 12:15
13F:推 terryporter:這題我懂了,感謝以上熱心的高手 03/02 23:10