交換aとb
861 ワード
// a b.cpp : 。
#include "stdafx.h"
void swap1(int& a, int& b)
{
int c = a;
a = b;
b = c;
}
/*
a b, : a+b a-b 。
*/
void swap2(int& a, int& b)
{
a = a+b;//
b = a-b;
a = a-b;
}
/*
:
: 0, 1
: 0 0
: 1 1
*/
void swap3(int& a, int& b)
{
a = a^b;
b = b^a;
a = a^b;
}
int _tmain(int argc, _TCHAR* argv[])
{
int a1 = 1, b1 = 2;
int a2 = 3, b2 = 4;
int a3 = 5, b3 = 6;
int a = 2147483647, b = 23232323;// , ,
swap1(a1,b1);
printf("a1=%d, b1=%d
",a1,b1);
swap2(a2,b2);
printf("a2=%d, b2=%d
",a2,b2);
swap3(a3,b3);
printf("a3=%d, b3=%d
",a3,b3);
swap2(a,b);
printf("a=%d, b=%d
",a,b);
getchar();
return 0;
}