2012-03-06 8 views
-3

可能重複中間位置として第三の変数を使用しない2つの変数:
Swap the values of two variables without using third variableスワップ

は、中間 位置と第三の変数を使用することなく、2つの変数を交換するプログラムを書きます。

a=2; b=3; 
a=a*b; // 6 
b=a/b; // 2 
a=a/b; // 3 
a=3 and b=2 

????が、それは本当です,,,私はBまたはゼロの場合はどうなりますこと

+0

宿題?あなたは、ウェブ上の解決策を探すことができます。古典的な1はXORを使用しています。 –

+0

あなたはあなたの質問/エラーが何であるかについてもう少し具体的にすることができますか? – Cameron

+0

0の値に問題があります – xitx

答えて

0

にエラーがありますか?いずれもゼロでなく、タイプがオーバーフローしない場合、コードは機能します。

0

"特異点"を持たない可逆演算子を使うことをお勧めします。

+-(整数のラップアラウンドを想定していないokれているようなそして、もちろん、勝者がXORである。

a ^= b; 
b ^= a; 
a ^= b;