作者Ansaga (奈灿)
看板C_Sharp
标题[问题] void函数的问题...
时间Wed Feb 29 07:11:04 2012
真是惭愧不知道该怎麽办才好
今天看中华电信的一个考题大概像
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)
1F:→ ssccg:c#的value type一样是pass by value啊,要加ref 02/29 07:34
2F:→ Ansaga:不解的原因是平常没有特别用过ref好像也没错过 02/29 07:51
3F:→ Ansaga:今天想试试这个东西突然怎麽试都错QQ 02/29 07:52
4F:→ Ansaga:一定是我东西还写太少了 感谢大大解惑 02/29 07:52
5F:→ andymai:有空可以再玩玩传物件,传进去之前new和传进去再new 02/29 10:05
6F:→ andymai:上面说的是不用ref或out的情形下... 02/29 10:06
7F:推 qwer820404:C#可以用ref? 02/29 12:48
8F:推 qwer820404:没事 我中邪了ㄎㄎ 02/29 12:50
9F:→ qwer820404:andy大是指说用object[] return吗 02/29 12:51
10F:推 stosto:MSDN搜寻一下就有了 02/29 21:17
11F:→ Elly:ref或out 02/29 23:33
12F:→ Elly:但out要再加一个参数去接 02/29 23:33
13F:→ andymai:object[] return?不是~是单纯return object... 03/01 00:30