重慶分公司,新征程啟航
為企業提供網站建設、域名注冊、服務器等服務
為企業提供網站建設、域名注冊、服務器等服務
swap函數一般是一個程序員自定義函數。
成都創新互聯公司自成立以來,一直致力于為企業提供從網站策劃、網站設計、成都做網站、網站制作、電子商務、網站推廣、網站優化到為企業提供個性化軟件開發等基于互聯網的全面整合營銷服務。公司擁有豐富的網站建設和互聯網應用系統開發管理經驗、成熟的應用系統解決方案、優秀的網站開發工程師團隊及專業的網站設計師團隊。
通常是實現兩個變量數值的交換,用法比較廣泛。
可使用臨時變量實現交換;可通過臨時指針變量實現交換;可借助指針加入臨時變量來實現交換。
return 0;
}
swap1: x:4,y:3
swap2: x:4,y:3
swap3: x:3,y:4
swap4: x:4,y:3
swap5: x:3,y:4
swap6: x:4,y:3
swap7:ppx:3,ppy:4
拓展資料:
計算機中swap函數很多,在不同領域有不同的用法,但都是交換的意思。比如字符串交換swap操作實現交換兩個容器內所有元素的功能。要交換的容器的類型必須匹配: 必須是相同類型的容器,而且所存儲的元素類型也必須相同。調用了swap函數后,右操作數原來存儲的元素被存放在左操作數中,反之亦然。
swap函數一般是一個程序員自定義函數。通常是實現兩個變量數值的交換。比如
int a = 2;
int b =3;
swap(a,b); //一般用到變量數值交換,交換后a=3 b = 2;
實現的方法多種多樣。比如下面幾種寫法:
1、通過使用臨時變量實現交換。
void swap1(int x,int y)
{
int temp;
temp=x;
x=y;
y=temp;
}
2、通過臨時指針變量實現交換。
void swap2(int *x,int *y)
{
int *temp;
temp=x;
x=y;
y=temp;
}
3、借助指針加入臨時變量來實現交換。
void swap3(int *x,int *y)
{
int temp;
temp=*x;
*x=*y;
*y=temp;
}
#include stdio.h
void swap(int *p, int *q);//用傳地址的方法交換
void main()
{
int i, j;
scanf("%d%d", i, j);//從鍵盤輸入兩個交換的數
swap(i, j);//傳入i,j的地址
printf("i = %d, j = %d\n", i, j);//輸出交換后的兩個值
}
void swap(int *p, int *q)
{
int temp;//定義臨時變量 存放中間值
temp = *p;
*p = *q;
*q = temp;
}
注意:不能直接寫void swap(int i, int j);
因為那只是臨時變量,函數調用完后,便釋放空間,兩個值并沒有交換。
void swap_array(int *pa,int *pb);
main(){
int x[]={0,1,2,3,4};
int y[]={5,6,7,8,9};
swap_array(x,y);
int i;
for(i=0;i5;i++)
printf("%d",x[i]);
printf("\r\n",x[i]);
for(i=0;i5;i++)
printf("%d",y[i]);
scanf("%d",i);
}
void swap_array(int *pa,int *pb){
int n;
n= sizeof(pa);
int c;
int i;
for(i=0;i=n;i++){
c=*pa;
*pa=*pb;
*pb=c;
++pa;
++pb;}
}
swap函數一般是一個程序員自定義函數。通常是實現兩個變量數值的交換。
1.swap1(x,y);
printf("swap1: x:%d,y:%d\n",x,y);//形參傳值,不能交換,實際傳過去是拷貝的一份,沒改變主函數中x,y。
2.swap2(x,y);
printf("swap2: x:%d,y:%d\n",x,y);//不能交換,函數中只是地址交換了下,地址指向的內容沒有交換。
3.swap3(x,y);
printf("swap3: x:%d,y:%d\n",x,y);//能交換,地址指向的內容進行了交換。
擴展資料
C語言是一門通用計算機編程語言,廣泛應用于底層開發。
C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。
參考資料C語言_百度百科