c語言swap函數(shù) c語言swap函數(shù),實(shí)現(xiàn)兩個(gè)整數(shù)的交換

C語言中的swap是什么意思?

swap函數(shù)一般是一個(gè)程序員自定義函數(shù)。通常是實(shí)現(xiàn)兩個(gè)變量數(shù)值的交換。比如

創(chuàng)新互聯(lián)服務(wù)項(xiàng)目包括蘆溪網(wǎng)站建設(shè)、蘆溪網(wǎng)站制作、蘆溪網(wǎng)頁制作以及蘆溪網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,蘆溪網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到蘆溪省份的部分城市,未來相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!

int a = 2;

int b =3;

swap(a,b); //一般用到變量數(shù)值交換,交換后a=3 b = 2;

實(shí)現(xiàn)的方法多種多樣。比如下面幾種寫法:

1、通過使用臨時(shí)變量實(shí)現(xiàn)交換。

void swap1(int x,int y)

{

int temp;

temp=x;

x=y;

y=temp;

}

2、通過臨時(shí)指針變量實(shí)現(xiàn)交換。

void swap2(int *x,int *y)

{

int *temp;

temp=x;

x=y;

y=temp;

}

3、借助指針加入臨時(shí)變量來實(shí)現(xiàn)交換。

void swap3(int *x,int *y)

{

int temp;

temp=*x;

*x=*y;

*y=temp;

}

C語言中swap的作用和用法

1.作用:swap的意思是交換兩個(gè)變量的值,是一個(gè)自定義函數(shù)。

2.用法:使a和b的值進(jìn)行互換。

例如:void swap(int*p1,int*p2) ? ?//*p1=a;*p2=b;

改變指針指向的地址的值,即a和b的值互換。

3.其他用法

swap1只進(jìn)行了值傳遞,所以函數(shù)調(diào)用結(jié)束后形參被釋放,不能實(shí)現(xiàn)實(shí)參的值交換;

swap2直接使用全局變量,這樣swap2函數(shù)和main函數(shù)操作的是同一個(gè)變量(地址和值都一樣),可以實(shí)現(xiàn)值交換;

swap3使用傳地址的方式,通過修改內(nèi)存塊來實(shí)現(xiàn)變量的值交換,是可以的。

swap4使用引用()的方式,這樣是給mian函數(shù)中待交換的變量起一個(gè)別名,并把把別名作為形參在swap4中進(jìn)行處理,這其實(shí)就實(shí)現(xiàn)了形參和實(shí)參的地址和內(nèi)容完全一樣,當(dāng)然可以實(shí)現(xiàn)值交換,swap4的效果和swap2的一樣,但這種定義方式更利于程序的調(diào)試和維護(hù),同時(shí)也可以減小內(nèi)存開銷。

swap5中雖然也把變量的地址傳到了函數(shù)中,但在函數(shù)內(nèi)部并沒用修改地址指向的內(nèi)存塊而是把地址在形參上完成交換,swap5函數(shù)運(yùn)行結(jié)束,所有的工作都會(huì)都是,而main函數(shù)中的變量也沒有實(shí)現(xiàn)交換,這種情況和swap1類似。

具體代碼如下:

/*-----try?to?swap?the?value?of?a?and?b,?but?it?does?not?work?out.*/

/*void?swap1(int?x,int?y)

{

int?temp;

temp?=?x;

x?=?y;

y?=?temp;

}*/

/*------using?the?global?variables?can?implement?the?swap----*/

/*int?a(3),b(5);

//the?declarations?of?a?and?b?in?the?main?function?should?be?commented?out.

void?swap2()

{

int?temp;

temp?=?a;

a?=?b;

b?=?temp;

}*/

/*----using?the?pointer?to?pass?the?address?to?the?swap?function*/

/*void?swap3(int?*px,int?*py)

{

int?temp;

temp?=?*px;

*px?=?*py;

*py?=?temp;

}*/

/*----using?the?reference?operator()-----*/

void?swap4(int?x,?int?y)

{

int?temp;

temp?=?x;

x?=?y;

y?=?temp;

}

/*----meaningless?swap---*/

/*void?swap5(int?*px,int?*py)

{

int?*p;

p?=?px;

px?=?py;

px?=?p;

}*/

int?main(int?argc,?char*?argv[])

{

int?a(3),b(5);

printf("before?swap:%3d?%3d\n",a,b);

swap4(a,b);

printf("after?swap:%3d?%3d\n",a,b);

return?0;

}

c語言中swap 是什么意思?

swap函數(shù)一般是一個(gè)程序員自定義函數(shù)。通常是實(shí)現(xiàn)兩個(gè)變量數(shù)值的交換。

1.swap1(x,y);

printf("swap1: x:%d,y:%d\n",x,y);//形參傳值,不能交換,實(shí)際傳過去是拷貝的一份,沒改變主函數(shù)中x,y。

2.swap2(x,y);

printf("swap2: x:%d,y:%d\n",x,y);//不能交換,函數(shù)中只是地址交換了下,地址指向的內(nèi)容沒有交換。

3.swap3(x,y);

printf("swap3: x:%d,y:%d\n",x,y);//能交換,地址指向的內(nèi)容進(jìn)行了交換。

擴(kuò)展資料

C語言是一門通用計(jì)算機(jī)編程語言,廣泛應(yīng)用于底層開發(fā)。

C語言的設(shè)計(jì)目標(biāo)是提供一種能以簡易的方式編譯、處理低級(jí)存儲(chǔ)器、產(chǎn)生少量的機(jī)器碼以及不需要任何運(yùn)行環(huán)境支持便能運(yùn)行的編程語言。

參考資料C語言_百度百科

c語言中swap是個(gè)什么函數(shù)?

swap函數(shù)一般是一個(gè)程序員自定義函數(shù),是實(shí)現(xiàn)兩個(gè)變量數(shù)值的交換。

1、比如:

int a = 2;

int b =3;

swap(a,b); //一般用到變量數(shù)值交換,交換后a=3 b = 2;

2、通過使用臨時(shí)變量實(shí)現(xiàn)交換。

void swap1(int x,int y)

{

int temp;

temp=x;

x=y;

y=temp;

}

擴(kuò)展資料

C語言swap函數(shù)的使用

#includestdio.h

void swap(int *pa,int *pb)

{

int temp;

temp=*pa,*pa=*pb,*pb=temp;

}

void main()

{

int a=10,b=20;

swap(a,b);//傳遞的是實(shí)參變量a,b的地址

printf("a=%d,b=%d\n",a,b);

}

分享題目:c語言swap函數(shù) c語言swap函數(shù),實(shí)現(xiàn)兩個(gè)整數(shù)的交換
文章分享:http://m.kartarina.com/article4/dogidoe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營銷型網(wǎng)站建設(shè)Google外貿(mào)網(wǎng)站建設(shè)建站公司商城網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

營銷型網(wǎng)站建設(shè)
主站蜘蛛池模板: 夜夜精品无码一区二区三区| 亚洲人片在线观看天堂无码| 精品久久亚洲中文无码| 免费无码中文字幕A级毛片| 无码人妻AV一二区二区三区| 亚洲国产日产无码精品 | 啊灬啊别停灬用力啊无码视频| 亚洲最大天堂无码精品区| 国产做无码视频在线观看| 国产成人无码久久久精品一| 亚洲精品久久久久无码AV片软件| 国产精品亚洲а∨无码播放不卡| 中文字幕无码人妻AAA片| 一本无码人妻在中文字幕免费| 精品久久久无码中字| 青青草无码免费一二三区| 无码人妻一区二区三区精品视频 | 国产精品成人无码免费| 无码人妻品一区二区三区精99 | 无码乱码av天堂一区二区| 国产在线无码精品电影网| MM1313亚洲精品无码久久| 无码h黄动漫在线播放网站| 中文字幕av无码一区二区三区电影| 夫妻免费无码V看片| 亚洲成a人无码亚洲成av无码 | 亚洲av无码一区二区三区在线播放| 国产成人精品一区二区三区无码| 成在人线AV无码免费| 无码无套少妇毛多18PXXXX| 亚洲AV成人无码网站| 日本无码一区二区三区白峰美| 色窝窝无码一区二区三区成人网站| 中文字幕无码第1页| 国产成人精品无码一区二区| 亚洲av无码专区在线观看素人| 一级电影在线播放无码| 国产精品无码一本二本三本色| 亚洲精品久久无码av片俺去也| 白嫩少妇激情无码| AV无码精品一区二区三区|