//--------------------------------
// 环境:VS2005
// 用途:不用中间变量交换两个数
// 时间:2010.9.25
// 作者:http://pppboy.blog.163.com
//--------------------------------
#include "stdafx.h"
#include <iostream>using namespace std;//交换a,b
void fSwap1(int& a, int& b){a = a ^ b;b = a ^ b;a = a ^ b;}//交换a,b的另一种方法
void fSwap2(int& a, int& b){a = a + b;b = a - b;a = a - b;}//再一种方法
void fSwap3(int& a, int& b){a = a * b;b = a / b;a = a / b;}int main(int argc, char* argv[]){int a, b;
cout << "------------------------------" << endl;
cout << "input a :" << endl;
cin >> a;cout << "input b :" << endl;
cin >> b;cout << "------------------------------" << endl;
cout << "a = " << a << endl;
cout << "b = " << b << endl;
cout << "------------------------------" << endl;
fSwap1(a, b);cout << "after swap (1):" << endl;
cout << "a = " << a << endl;
cout << "b = " << b << endl;
fSwap2(a, b);cout << "after swap (2):" << endl;
cout << "a = " << a << endl;
cout << "b = " << b << endl;
fSwap3(a, b);cout << "after swap (3):" << endl;
cout << "a = " << a << endl;
cout << "b = " << b << endl;
system("pause");
return 0;
}
结果为:
------------------------------input a :32input b :65------------------------------a = 32b = 65------------------------------after swap (1):a = 65b = 32after swap (2):a = 32b = 65after swap (3):a = 65b = 32请按任意键继续. . .