Programming Languages/C
[P4C] CodeUp 1581 : swap 함수 만들기 (Call by Reference)
h4won
2021. 3. 5. 17:39
문제 : 이 문제는 두 변수의 값을 바꾸는 함수를 구현하는 문제입니다.
함수명 : myswapmyswap
매개 변수(parameter) : 정수형 포인터 변수 변수 22개(매개변수를 반드시 int∗int∗로 사용)
반환 형(return type) : 없음(voidvoid)
함수 내용 : 첫 번째 포인터가 가리키는 변수의 값이 두 번째 포인터가 가리키는 변수의 값보다 클 경우 두 값을 서로 바꾼다.
정답 :
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
void myswap(int *a, int *b)
{
int temp;
if (*a > *b)
{
temp = *b;
*b = *a;
*a = temp;
}
}
main()
{
int a, b;
scanf("%d%d", &a, &b);
myswap(&a, &b);
printf("%d %d", a, b);
}
myswap 함수의 매개변수로 포인터 변수 두 개를 받아서, 그 두 개가 가르키는 값을 비교하는데 첫번째 포인터가 가르키는 값이 더 클 경우 두 수를 바꾼다. (이때, temp 변수를 이용한다.)