profile image

L o a d i n g . . .

문제 : 이 문제는 두 변수의 값을 바꾸는 함수를 구현하는 문제입니다.

 

함수명 : myswapmyswap

매개 변수(parameter) : 정수형 포인터 변수 변수 22개(매개변수를 반드시 intint∗로 사용)

반환 형(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 변수를 이용한다.)

복사했습니다!