新聞中心
C語言中的swap是什么意思?
swap函數(shù)一般是一個程序員自定義函數(shù)。通常是實現(xiàn)兩個變量數(shù)值的交換。比如
創(chuàng)新互聯(lián)服務項目包括蘆溪網(wǎng)站建設、蘆溪網(wǎng)站制作、蘆溪網(wǎng)頁制作以及蘆溪網(wǎng)絡營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關系等,向廣大中小型企業(yè)、政府機構等提供互聯(lián)網(wǎng)行業(yè)的解決方案,蘆溪網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟效益。目前,我們服務的客戶以成都為中心已經(jīng)輻射到蘆溪省份的部分城市,未來相信會繼續(xù)擴大服務區(qū)域并繼續(xù)獲得客戶的支持與信任!
int a = 2;
int b =3;
swap(a,b); //一般用到變量數(shù)值交換,交換后a=3 b = 2;
實現(xiàn)的方法多種多樣。比如下面幾種寫法:
1、通過使用臨時變量實現(xiàn)交換。
void swap1(int x,int y)
{
int temp;
temp=x;
x=y;
y=temp;
}
2、通過臨時指針變量實現(xiàn)交換。
void swap2(int *x,int *y)
{
int *temp;
temp=x;
x=y;
y=temp;
}
3、借助指針加入臨時變量來實現(xiàn)交換。
void swap3(int *x,int *y)
{
int temp;
temp=*x;
*x=*y;
*y=temp;
}
C語言中swap的作用和用法
1.作用:swap的意思是交換兩個變量的值,是一個自定義函數(shù)。
2.用法:使a和b的值進行互換。
例如:void swap(int*p1,int*p2) ? ?//*p1=a;*p2=b;
改變指針指向的地址的值,即a和b的值互換。
3.其他用法
swap1只進行了值傳遞,所以函數(shù)調用結束后形參被釋放,不能實現(xiàn)實參的值交換;
swap2直接使用全局變量,這樣swap2函數(shù)和main函數(shù)操作的是同一個變量(地址和值都一樣),可以實現(xiàn)值交換;
swap3使用傳地址的方式,通過修改內存塊來實現(xiàn)變量的值交換,是可以的。
swap4使用引用()的方式,這樣是給mian函數(shù)中待交換的變量起一個別名,并把把別名作為形參在swap4中進行處理,這其實就實現(xiàn)了形參和實參的地址和內容完全一樣,當然可以實現(xiàn)值交換,swap4的效果和swap2的一樣,但這種定義方式更利于程序的調試和維護,同時也可以減小內存開銷。
swap5中雖然也把變量的地址傳到了函數(shù)中,但在函數(shù)內部并沒用修改地址指向的內存塊而是把地址在形參上完成交換,swap5函數(shù)運行結束,所有的工作都會都是,而main函數(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ù)一般是一個程序員自定義函數(shù)。通常是實現(xiàn)兩個變量數(shù)值的交換。
1.swap1(x,y);
printf("swap1: x:%d,y:%d\n",x,y);//形參傳值,不能交換,實際傳過去是拷貝的一份,沒改變主函數(shù)中x,y。
2.swap2(x,y);
printf("swap2: x:%d,y:%d\n",x,y);//不能交換,函數(shù)中只是地址交換了下,地址指向的內容沒有交換。
3.swap3(x,y);
printf("swap3: x:%d,y:%d\n",x,y);//能交換,地址指向的內容進行了交換。
擴展資料
C語言是一門通用計算機編程語言,廣泛應用于底層開發(fā)。
C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、產(chǎn)生少量的機器碼以及不需要任何運行環(huán)境支持便能運行的編程語言。
參考資料C語言_百度百科
c語言中swap是個什么函數(shù)?
swap函數(shù)一般是一個程序員自定義函數(shù),是實現(xiàn)兩個變量數(shù)值的交換。
1、比如:
int a = 2;
int b =3;
swap(a,b); //一般用到變量數(shù)值交換,交換后a=3 b = 2;
2、通過使用臨時變量實現(xiàn)交換。
void swap1(int x,int y)
{
int temp;
temp=x;
x=y;
y=temp;
}
擴展資料
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);//傳遞的是實參變量a,b的地址
printf("a=%d,b=%d\n",a,b);
}
新聞標題:c語言swap函數(shù) c語言swap函數(shù),實現(xiàn)兩個整數(shù)的交換
文章位置:http://www.ef60e0e.cn/article/dogidoe.html