首頁 > 後端開發 > C++ > 如何在C編程中不使用第三個或臨時變數交換兩個數字?

如何在C編程中不使用第三個或臨時變數交換兩個數字?

WBOY
發布: 2023-09-23 20:09:09
轉載
1056 人瀏覽過

如何在C編程中不使用第三個或臨時變數交換兩個數字?

透過加法和減法操作,我們可以將兩個數字從一個記憶體位置交換到另一個記憶體位置。

演算法

以下是演算法的解釋−

開始

Step 1: Declare 2 variables x and y.
Step 2: Read two numbers from keyboard.
Step 3: Swap numbers.
//Apply addition and subtraction operations to swap the numbers.
   i. x=x+y
   ii. y=x-y
   iii. x=x-y
Step 4: Print x and y values.
登入後複製

程式

以下是C程序,用來解釋如何在不使用第三個變數或臨時變數的情況下交換兩個數字:

#include<stdio.h>
int main(){
   int x,y;
   printf("enter x and y values:");
   scanf("%d%d",&x,&y);// lets take x as 20 and y as 30
   x=x+y;// x=20+30=50
   y=x-y;//y=50-30=20
   x=x-y;//x=50-20=30
   printf("After swap x=%d and y=%d",x,y);
   return 0;
}
登入後複製

輸出

你將得到以下輸出−

enter x and y values:20 30
After swap x=30 and y=20
登入後複製

注意 - 我們可以使用乘法、除法和位元異或運算子來交換兩個數字,而不需要使用第三個變數。

考慮另一個例子,它解釋如何使用乘法和除法運算子來交換兩個數字。

程序

以下是C程序,示範了交換兩個數字的相應功能:

#include<stdio.h>
int main(){
   int x,y;
   printf("enter x and y values:");
   scanf("%d%d",&x,&y);
   x=x*y;
   y=x/y;
   x=x/y;
   printf("After swap x=%d and y=%d",x,y);
   return 0;
}
登入後複製

輸出

當你執行上面的程式時,你將得到以下輸出−

enter x and y values:120 250
After swap x=250 and y=120
登入後複製

以上是如何在C編程中不使用第三個或臨時變數交換兩個數字?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:tutorialspoint.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板