係統粉 > 電腦問答 > 其他問答

已解決看不懂這程序,大家來指點下偶

提問者:dota大肉屁股哥  |  瀏覽次  |  提問時間:2017-01-14  |  回答數量:7

看不懂這程序,大家來指點下偶 #include<iostream.h>void swap(int,int);void main(){  int a=3,b=4;  cout<<\"a=\"<<a<<\"b=\"<<b<<endl;  swap(a,b);  cout<<\"a=\"<<a<<\"b=\"<<b<<endl;}void swap(int x,int y){  int t=y;  x=y;  y=t;}運行結果是a=3,b=4a=3,b=4不理解的是第二行的輸出怎麼不是a=4,b=3函數swap已經把a和b的值對換了呀

已有7條答案
drinkerbaby

drinkerbaby

回答數:25  |  被采納數:19

嗬嗬void是不返回值的....
你這樣是改變不了a,b兩個值的
用指針變量來吧....

也就是說在swap函數裏兩個值是互換了,但是這個函數沒有把值返回給主函數!!

普通變量在調用函數時是不會返回值的,隻有指針有這個特性....可以把返回的值給調用函數

=====================
其實用:
a = a ^ b;
b = b ^ a;
a = a ^ b;

a = a + b;
b = a - b;
a = a - b;
就可以達到互換的了,用乘也可以的
[s:470]
2017-01-14 11:03:34
讚 2
qazwsx00077

qazwsx00077

回答數:85  |  被采納數:106

不懂````進來看看``
2017-01-14 11:04:09
讚 8
ttdgky

ttdgky

回答數:76  |  被采納數:129


嗯 LS的已經說得很具體了~
2017-01-14 11:23:32
讚 7
天堂人大

天堂人大

回答數:20  |  被采納數:69

謝謝。現在知道了 [s:526]
2017-01-14 17:39:45
讚 2
衣服沒兜兜

衣服沒兜兜

回答數:83  |  被采納數:28

感覺像移值.....
都忘記C了....
2017-01-14 21:16:13
讚 8
簡小米_0

簡小米_0

回答數:26  |  被采納數:127

有些表過式都不記得了~~~~ [s:470]

過來學一學! [s:460]
2017-01-14 20:19:29
讚 2
長弓問天

長弓問天

回答數:12  |  被采納數:45

不懂啊,想學啊!不知道難不難!我現在在學網絡,大俠些多指教哈
2017-01-14 14:23:31
讚 1
相關問答
最新其他問答
解決方法