두 수의 값 바꾸기

Written on April 25, 2017

두 정수형 변수 x=10, y=20이 있고 이를 출력하면 다음과 같습니다.

#include <stdio.h>

int main(){
 int x=10, y=20;
 
 printf("x:%d, y:%d\n",x,y);
 
 return 0; 
}
출력 결과
x:10, y:20

x,y의 값을 서로 바꾸고 각 값을 출력하기 위한 방법은 다음과 같습니다.

#include <stdio.h>

int main(){
 int x=10, y=20;
 int temp=0;
 
 printf("Original x:%d, y:%d\n",x,y);
 
 // 바꾸기 전 : x=10, y=20, temp=0
 
 temp=x; // x=10, y=20, temp=10
 x=y; // x=20, y=20, temp=10
 y=temp; // x=20, y=10, temp=10
 
 printf("Changed x:%d, y:%d\n",x,y);
 
 return 0; 
}
출력 결과
Original x:10, y:20
Changed x:20, y:10

두 변수의 값을 바꾸기 위해 temp(temporary의 줄임말)라는 임시 변수(주로 이렇게 부를 뿐 특별한 기능은 없습니다.)를 만들었고,

소스 코드 내에서의 흐름은 다음과 같습니다.

flow

소스 코드의 진행에 따른 각 변수의 값은 주석(//뒤의 문장)을 참고하시면 이해가 쉽습니다.