利用逆运算的swap
#include <stdio.h> #include <iostream> using namespace std; void swap1(int &a,int &b) { a=a+b; b=a-b; a=a-b; } void swap2(int &a,int &b) { a=a^b; b=a^b; a=a^b; } int main() { int a=10; int b=5; cout<<"before swap is a:"<<a<<" b:"<<b<<endl; swap1(a,b); cout<<"after swap1 is a:"<<a<<" b:"<<b<<endl; swap2(a,b); cout<<"after swap2 is a:"<<a<<" b:"<<b<<endl; return 0; }
浙公网安备 33010602011771号