當前位置:首頁 » 編程語言 » c語言兩數交換

c語言兩數交換

發布時間: 2023-06-08 09:37:23

① 關於c語言交換兩個數(有關指針)

在C語言中,通過函數參數傳遞,進行兩個數的交換,必須採用傳遞指針的方式,同時,在函數中,一定要對兩個指針中的數據內容進行交換才能達到交換實參地址中數據的目的。

如:

//正確的交換函數
voidswap1(int*p1,int*p2)
{
intp;
p=*p1;//通過*引用地址中的數據,進行交換
*p1=*p2;
*p2=p;
}
//錯誤的交換函數
voidswap2(int*p1,int*p2)
{
int*p;
p=p1;//這里進行改變的是形參的值,而形參只是實參的一個副本,形參本身的變化,是不能改變實參的值的!!
p1=p2;
p2=p;
}

PS:要正確認識C語言中的實參與形參,形參在使用中只是實參的副本,若形參是指針,我們可以通過形參改變實參地址中的內容,但無法改變實參本身的值!

② 在C語言中如何將兩個數進行互換

將兩個數進行互換的方法有兩種形式:

1、藉助中間變數完成,此方法直觀,易理解,使用最多

2、不需要中間變數,通過變數身的運算完成交換。

參考代碼:

方法1:
inta=2,b=3,t;
t=a;//先將a存儲到臨時變數t中
a=b;//將b存儲到a中
b=t;//將臨時變數中的原a值存儲到b中
printf("a=%db=%d ",a,b);

方法2:
inta=2,b=3,t;
a+=b;//把兩數之和存到a中
b=a-b;//用兩數和減去b可得原a,存儲到b中
a=a-b;//因為b現在是原a值,所以,用兩數和減去b(原a)可得原b,存儲到a中
此方法,還可以用異或運算來實現,原理相同。

③ c語言函數的使用,定義一個交換函數 實現2個數字的交換。

void Swap(int&x,int&y)

{

int temp=0;

temp=x;

x=y;

y=temp;

}

int main()

{

int a=1;

int b=2;

Swap(a,b);

cout<<"a="<<a<<endl;

cout<<"b="<<b<<endl;

system("pause");

return 0;

}

運行結果:

(3)c語言兩數交換擴展閱讀:

用指針交換:

void Swap(int*x,int*y)

{

int temp=0;

temp=*x;

*x=*y;

*y=temp;

}

int main()

{

int x=1;

int y=2;

Swap(&x,&y);

printf("x=%d,y=%d ",x,y);

system("pause");

return 0;

}

運行結果:

X=2;Y=1

熱點內容
安卓用什麼和電腦傳圖片 發布:2024-07-27 09:02:07 瀏覽:288
存儲過程就是 發布:2024-07-27 08:56:51 瀏覽:131
c語言高級試題 發布:2024-07-27 08:48:30 瀏覽:282
ip伺服器世界上有幾台 發布:2024-07-27 08:46:18 瀏覽:394
金立手機怎麼清理緩存 發布:2024-07-27 08:38:50 瀏覽:311
iphone文件夾不顯示 發布:2024-07-27 08:18:05 瀏覽:774
y510p固態硬碟做緩存 發布:2024-07-27 07:59:34 瀏覽:128
奶塊為什麼進伺服器會排隊 發布:2024-07-27 07:57:15 瀏覽:691
資料庫表標識 發布:2024-07-27 07:50:00 瀏覽:923
python元組個數 發布:2024-07-27 07:49:23 瀏覽:236