두 변수의 값 교환하기
int x = 10, y = 20;
x와 y라는 변수가 선언되었고, 각각 10과 20으로 초기화 되있다고 가정하자.
이때, x와 y에 저장된 값을 서로 바꾸려면 어떻게 해야할까?
x = y; // y의 값을 x에 저장
y = x; // x의 값을 y에 저장
이렇게하면 될까?
위의 방식으로 실행하면, 이 그림처럼, 둘다 20으로 바뀌게 된다.
따라서, tmp라는 새로운 변수를 선언해 주고, 그것을 이용해서 x와 y에 저장된 값을 서로 교환시킬 수 있다.
int x = 10, y = 20;
int tmp;
tmp = x; // x의 값을 tmp에 저장
x = y; // x의 값을 y에 저장
y = tmp; // tmp의 값을 y에 저장
x 에 있던 10을 tmp로 옮기고 y에 있던 20을 x로 옮긴 후, tmp에 있던10을 y로 옮기면,
처음에 x = 10, y = 20에서 x = 20, y = 10으로 교환이 완료된다.