3 番目の変数または一時変数を使用せずに C プログラミングで 2 つの数値を交換するにはどうすればよいですか?

WBOY
リリース: 2023-09-23 20:09:09
転載
1022 人が閲覧しました

3 番目の変数または一時変数を使用せずに C プログラミングで 2 つの数値を交換するにはどうすればよいですか?

加算と減算の演算を通じて、あるメモリ位置から別のメモリ位置に 2 つの数値を交換できます。

アルゴリズム

以下はアルゴリズムの説明です-

Start

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.
ログイン後にコピー

Program

以下はCプログラムです。 3 番目の変数や一時変数を使用せずに 2 つの数値を交換する方法を説明します。

#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
ログイン後にコピー

Note - 乗算、除算、およびビットごとの XOR 演算子を使用して、3 番目の変数を使用せずに 2 つの数値を交換できます。

乗算演算子と除算演算子を使用して 2 つの数値を交換する方法を説明する別の例を考えてみましょう。

プログラム

次は、2 つの数値を交換する対応する関数を示す 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
ログイン後にコピー

以上が3 番目の変数または一時変数を使用せずに C プログラミングで 2 つの数値を交換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:tutorialspoint.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート