카테고리 없음
[C language]SAWP - 두 변수의 값 바꾸기
어디선가 굴러온 돌
2022. 8. 30. 14:54
SWAP은 두 변수의 값을 변경 할 때 이용한다.
단순 예제는 다음과 같다.
#include <stdio.h>
int main()
{
int a = 5;
int b = 7;
int temp;
printf("a:%d b:%d\n\n", a, b);
temp = a;
a = b;
b = temp;
printf("a:%d b:%d", a, b);
return 0;
}
temp변수를 이용하여 a를 temp에 담은 후 대입연사자를 이용해 b의 값을 a에 담아준다
그 후 temp에 미리 담아 두었던 a의값을 b에 넣어주므로써 SWAP을 할 수 있다.
다만 SAWP 함수를 만들 때는 이 처럼 만들지않고 포인터를 이용하여 만들어야지 SAWP이 제대로 이루어진다.
#include <stdio.h>
int swap(int a, int b) {
int* pa = &a;
int* pb = &b;
int temp;
temp = *pa;
*pa = *pb;
*pb = temp;
return printf("%d %d", a, b);
}
int main()
{
swap(5, 7);
return 0;
}