不使用第三个变量交换两个数的值
mian.cpp
1 #include <iostream> 2 using namespace std; 3 void SwapA(int &A, int &B) 4 { 5 if(A == B) 6 { 7 return; 8 } 9 A = A + B; 10 B = A - B; 11 A = A - B; 12 13 } 14 15 void SwapB(unsigned int &A, unsigned int &B) 16 { 17 if(A == B) 18 { 19 return; 20 } 21 A = A ^ B; 22 B = A ^ B; 23 A = A ^ B; 24 25 } 26 int main() 27 { 28 int a = 10; 29 int b = 20; 30 31 //定义了两个引用 32 int &c = a; 33 int &d = b; 34 35 SwapA(c, d); 36 cout << " a = " << a << endl; 37 cout << " b = " << b << endl; 38 39 unsigned int l = 10; 40 unsigned int m = 30; 41 //定义了两个引用 42 unsigned int &e = l; 43 unsigned int &f = m; 44 45 SwapB(e, f); 46 cout << " l = " << l << endl; 47 cout << " m = " << m << endl; 48 49 return 0; 50 }