- 두 개의 정수형 변수의 값을 서로 바꾸고자 할 때는 임시변수를 사용하여 두 개의 값을 바꿔주는 경우가 대부분이다.
int a = 3;
int b = 5;
int temp = a;
a = b;
b = temp;
그렇다면 만약 temp를 사용하지 않고 두 개의 정수를 바꿀 수는 없을까?
정답은 바꿀 수 있다!!
단, 오직 두 개의 정수형 변수만 사용하여 바꾸어야 한다. 방법은 다음과 같다.
int a = 3;
int b = 5;
a = a + b;
b = a - b;
a = a - b;
처음 보면 이해가 잘 안될 수도 있다.
a = a + b 는 a의 값과 b의 값의 합이다.
여기서 b를 빼면 a 만 남는다.
즉, b = a - b 를 하면 b에 기존의 a 값이 대입이 된다.
그리고 a = a+b 에서 b를 다시 뺴주게 되면 기존의 a 값을 빼주게 되어
a 에는 기존의 b 값이 되입되어 두 개의 수가 바꾸어 진다.