交換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; }