c語言中的swap
Ⅰ c語言swap函數什麼作用
這是一個自定義函數
例如:void swap(int*p1,int*p2) //*p1=a;*p2=b;
改變指針指向的地址的值,即a和b的值互換了
使a和b的值進行互換就是它的基本用法
Ⅱ c語言swap指針
#include<stdio.h>
voidswap(intx,int*y)
{
intt;
t=x;
x=*y;
*y=t;
}
intmain()
{
inta=5,b=10;
swap(a,&b);
printf("%d,%d ",a,b);
return0;
}
swap函數第一個是值傳遞,第二個傳遞的是指針,值傳遞為單項傳遞,相當於運行swap時,又創建了一個內存存放a的數值,但是指針傳遞不創建新的內存,所以都是5
Ⅲ c語言中swap 是什麼意思
swap函數一般是一個程序員自定義函數。通常是實現兩個變數數值的交換。
1.swap1(x,y);
printf("swap1: x:%d,y:%d ",x,y);//形參傳值,不能交換,實際傳過去是拷貝的一份,沒改變主函數中x,y。
2.swap2(&x,&y);
printf("swap2: x:%d,y:%d ",x,y);//不能交換,函數中只是地址交換了下,地址指向的內容沒有交換。
3.swap3(&x,&y);
printf("swap3: x:%d,y:%d ",x,y);//能交換,地址指向的內容進行了交換。
(3)c語言中的swap擴展閱讀
C語言是一門通用計算機編程語言,廣泛應用於底層開發。
C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。
Ⅳ C語言中swap的作用和用法
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函數後,右操作數原來存儲的元素被存放在左操作數中,反之亦然。
Ⅳ c語言中swap是個什麼函數
C語言中swap函數是自定義的函數,C標准庫里沒有swap函數。swap函數是用來交換的函數,經常在C語言中排序中會用到。
代碼示例:
#include<stdio.h>
void swap(int *a, int *b){
int t;
t = *a;
*a = *b;
*b = t;
}
int main()
{
int a=23,b = 43;
printf("輸入的兩個要交換的數為:%d,%d ",a,b);
swap(&a,&b);
printf("交換後的數為:%d,%d ",a,b);
return 0;
}
程序運行:
(5)c語言中的swap擴展閱讀
C語言中使用swap()函數,要注意的是,想要交換a,b的值,其實就是相當於要在函數中改變變數的值,要做到這一點,就需要向形式參數傳遞實際參數的地址了,因為這樣把變數的地址復制到函數中的變數里,它們指向的是內存中的同一個地方,在函數中改變這個地方的值,那麼外部的變數的值也就改變了。
Ⅵ C語言的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;
}
Ⅶ c語言中,swap函數問題
#include<stdio.h>
#include<algorithm>
usingnamespacestd;//錯誤1,swap(,)需要std支持
intmain(intargc,char*argv[])
{
chara[4];//注意輸入時候不要超過3個字元,因為大小定義為4
scanf("%s",a);//錯誤2,while循環使用有問題
if(a[0]>a[1])swap(a[0],a[1]);
if(a[0]>a[2])swap(a[0],a[2]);
if(a[1]>a[2])swap(a[1],a[2]);
printf("%c%c%c",a[0],a[1],a[2]);//錯誤3,輸出用printf()
return0;
}
Ⅷ C語言中的swap是什麼意思
可以是庫函數,你自己也可以進行自定義,就是交換兩個數的值,swap的中文翻譯就是交換的意思,我c語言中,有很多函數名都是見名知意,你自己編程是也要注意這點