<PRE>안녕하세요.
프로그래밍하다 보면 2개의 값을 바꾸는 SWAP 함수가 많이 필요하게 되죠.
이렇게 간단한건 함수로 구현하기 보다는 매크로로 사용하는 것이 속도면에서
아무래도 유리합니다.
다음은 XOR을 이용한 SWAP 매크로 구현입니다.
#define SWAP(a, b) ((a)^=(b)^=(a)^=(b))
다음은 예제 코드.
#include < stdio.h >
#define SWAP(a, b) ((a)^=(b)^=(a)^=(b))
int main(void) {
int a = 22;
int b = 44;
SWAP(a, b);
printf("a = %d, b = %d", a, b);
return 0;
}
감사합니다.
</PRE>