Home > Study > C Language > C task > [ex54] 두 개의 문자열을 교환하는 Swap 함수를 구현하시오

[ex54] 두 개의 문자열을 교환하는 Swap 함수를 구현하시오
Study Language

문제 설명


두 개의 문자열을 교환하는 Swap 함수를 구현하시오. (필요시 함수 추가 설계하여 구현한다.)
다음 코드는 입출력 Template으로 복사하여 코드를 작성하고 제시한 함수( Swap() )를 직접 구현하여 완성한다.

#include < stdio.h>

// 필요시 함수 추가 설계 (예)문자열을 복사하는 함수
// 여기에 Swap()함수를 구현한다

int main(void)
{
    char a[110], b[110];
    scanf("%s %s", a, b);
    Swap( a, b );
    printf("%s %s\n", a, b);
    return 0;
}

입력 설명


문자열 2개를 입력받는다 

출력 설명


교환한 문자열을 출력한다 

입력 예시


Hi Hello

출력 예시


Hello Hi

정답 코드


#include <stdio.h>

void str_copy( char *d, const char *s)
{
       while(*d++=*s++);
}

void Swap(char *ap, char *bp)
{
	char temp[110];

	str_copy(temp,ap);
	str_copy(ap,bp);
	str_copy(bp,temp);
}

int main(void)
{
   char a[110], b[110];
   
    scanf("%s %s", a, b);
    Swap( a, b );
    printf("%s %s\n", a, b);
    return 0;
}

메모


printf 내부의 \n 습관화 필요