컴퓨터/C

C언어 변수 교환

Begi 2020. 5. 17. 17:44
반응형

2개의 변수를 교환하는 C 코드는 다음과 같다.

int a ,b;

int temp;

temp = a;

a = b;

b = temp;


위 코드에서 교환을 위해 임시변수 temp를 사용했는데 임시변수 없이 다음와 같이 XOR 교환 알고리즘 (XOR swap algorithm)으로 구현할 수도 있다.

int a, b;

a = a^b;

b = a^b;

a = a^b;


XOR 교환 알고리즘의 일반식은 다음과 같다.

a = a XOR b

b = a XOR b

a = a XOR b


위 식의 진리표는 다음과 같다.

In 

Out 

a 


반응형