[問題] void函數的問題...

看板C_Sharp作者 (奈燦)時間12年前 (2012/02/29 07:11), 編輯推噓3(3010)
留言13則, 6人參與, 最新討論串1/1
真是慚愧不知道該怎麼辦才好 今天看中華電信的一個考題大概像 void swap(int i, int j) { int t = i; i = j; j = t; return ; } void main(void) { int a = 23, b = 47; swap(a,b); printf("After. a: %d, b: %d\n", a, b); system("PAUSE"); return 0; } 要找出錯誤並改寫 如果是c的話加上指標就結束了 想說c#好像不用指標就換到c#來 結果函數跑完後數值又變回來了 也就是a跟b只在function內有交換 一出function又是原來的a,b了 請問這個情況怎麼回事呢... 想不懂...慚愧 -- 香菸帶不走的寂寞 ζ ξ 你能不能懂 -● ν) √■_ˍ▁▂▃▄▄▃ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.32.144.249 ※ 編輯: Ansaga 來自: 114.32.144.249 (02/29 07:13)

02/29 07:34, , 1F
c#的value type一樣是pass by value啊,要加ref
02/29 07:34, 1F

02/29 07:51, , 2F
不解的原因是平常沒有特別用過ref好像也沒錯過
02/29 07:51, 2F

02/29 07:52, , 3F
今天想試試這個東西突然怎麼試都錯QQ
02/29 07:52, 3F

02/29 07:52, , 4F
一定是我東西還寫太少了 感謝大大解惑
02/29 07:52, 4F

02/29 10:05, , 5F
有空可以再玩玩傳物件,傳進去之前new和傳進去再new
02/29 10:05, 5F

02/29 10:06, , 6F
上面說的是不用ref或out的情形下...
02/29 10:06, 6F

02/29 12:48, , 7F
C#可以用ref?
02/29 12:48, 7F

02/29 12:50, , 8F
沒事 我中邪了ㄎㄎ
02/29 12:50, 8F

02/29 12:51, , 9F
andy大是指說用object[] return嗎
02/29 12:51, 9F

02/29 21:17, , 10F
MSDN搜尋一下就有了
02/29 21:17, 10F

02/29 23:33, , 11F
ref或out
02/29 23:33, 11F

02/29 23:33, , 12F
但out要再加一個參數去接
02/29 23:33, 12F

03/01 00:30, , 13F
object[] return?不是~是單純return object...
03/01 00:30, 13F
文章代碼(AID): #1FJLyCuc (C_Sharp)