swap

    임시변수 없이 변수 바꾸기

    두 개의 정수형 변수의 값을 서로 바꾸고자 할 때는 임시변수를 사용하여 두 개의 값을 바꿔주는 경우가 대부분이다. 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를 다..