国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C > 正文

C語言swap(a,b)值交換的4種實現方法

2020-02-24 14:33:55
字體:
來源:轉載
供稿:網友

這篇文章所要表述的內容的確很簡單,寫之前,我糾結了很久:寫與不寫。平常swap(a,b)值交換,我們基本都是使用第一種方法,對于數學較好的人,可能會想到第二種方法,想到時,一定感覺很好,。對于匯編或對位有理解的人,可能會想到第三種方法,這個方法很妙。但,真正促使我寫這篇文章的,還是第四種方法,妙,真的很妙,先(b = a),我是真沒想到,我想,這么好的東西,盡管簡單,但值得發表,以此共享。

swap(a,b)值交換的四種方法:

復制代碼 代碼如下:

void swap(int &a, int &b)
{
//方法一:
int tmp = 0;
tmp = b;
b = a;
a = tmp;
//方法二:
//a = a+b;
//b = a-b;
//a = a -b;
//方法三:
//a ^= b ^= a ^= b;
//方法四:
//a = a+b-(b=a);
}

int main(void)
{
int a = 3;
int b = 4;

printf("before swap: a = %d, b = %d/n", a, b);
swap(a, b);
printf("after swap: a = %d, b = %d/n", a, b);

return 0;
}

結果:

before swap: a = 3, b = 4

after swap: a = 4, b = 3


關于傳參方式有三種:值傳參、地址傳參、引用傳參(C++方法),上面使用的是第三種,引用傳參,因為這種傳參方式使得swap里面實現更為直觀。當然,也可以使用第二種傳參方式地址傳參,不過,值傳參是不行的哦。更多精彩內容,盡在https://js.Vevb.com。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 乳山市| 怀集县| 同德县| 湖南省| 彭水| 金平| 炉霍县| 林西县| 桐乡市| 德州市| 富裕县| 阳高县| 乐清市| 锦州市| 黑山县| 潜江市| 南陵县| 牟定县| 夹江县| 拜泉县| 连州市| 遂昌县| 绩溪县| 施秉县| 大同县| 乐亭县| 交口县| 隆尧县| 同仁县| 红安县| 潍坊市| 万荣县| 壶关县| 富源县| 霍邱县| 鄂州市| 汝城县| 岑巩县| 深圳市| 丹江口市| 海晏县|