이건 뭐 잡담입니다만 .. -_-a
옛날에 임시 변수 없이 바꾸는 법 없을까 ..
한참 생각해본적이 있었죠 ..
;
x=x+y; y=x-y; x=x-y;
이 정도였던것 같은데 ..
xor 를 이용한 방법도 있군요 ..
저것도 명령 하나로 되려나 ..
;
x-=(y=(x+=y)-y) 쯤 될까요 ?.. -_-a
: <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>--The more pure, the more fragile ..