通過加法和減法操作,我們可以將兩個(gè)數(shù)字從一個(gè)內(nèi)存位置交換到另一個(gè)內(nèi)存位置。
算法
以下是算法的解釋 ?
開始
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.
登錄后復(fù)制
程序
以下是一個(gè)C程序,用于解釋如何在不使用第三個(gè)變量或臨時(shí)變量的情況下交換兩個(gè)數(shù)字:
#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;
}
登錄后復(fù)制
輸出
你將得到以下輸出 −
enter x and y values:20 30 After swap x=30 and y=20
登錄后復(fù)制
注意 – 我們可以使用乘法、除法和按位異或運(yùn)算符來交換兩個(gè)數(shù)字,而不需要使用第三個(gè)變量。
考慮另一個(gè)例子,它解釋了如何使用乘法和除法運(yùn)算符來交換兩個(gè)數(shù)字。
程序
以下是C程序,演示了交換兩個(gè)數(shù)字的相應(yīng)功能:
#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;
}
登錄后復(fù)制
輸出
當(dāng)你執(zhí)行上面的程序時(shí),你將得到以下輸出 ?
enter x and y values:120 250 After swap x=250 and y=120
登錄后復(fù)制
以上就是如何在C編程中不使用第三個(gè)或臨時(shí)變量交換兩個(gè)數(shù)字?的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注www.xfxf.net其它相關(guān)文章!






