본문 바로가기
컴퓨터/C

C언어 변수 교환

by Begi 2020. 5. 17.
반응형

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 


반응형

'컴퓨터 > C' 카테고리의 다른 글

C 코드와 C++ 코드를 함께 컴파일 extern "C"  (0) 2020.06.03
C++의 Name mangling  (0) 2020.06.03
C 언어 exit 함수  (0) 2020.05.10
return과 exit 차이  (0) 2020.05.10
C 언어 XOR 비트연산  (0) 2020.05.07

댓글