char형 데이터 두 개를 입력받은 다음 서로 바꾸는 swap 함수를 만드는 프로그램을 작성하여 보겠습니다


출력)    문자 입력 ch1 : A
          
문자 입력 ch2 : C
          
swap   :  ch1=A, ch2=C

           swap   :  ch1=C, ch2=A

          
           문자 입력
ch1 : D
           
문자 입력 ch2 : E
           swap   :  ch1=D, ch2=E

           swap   :  ch1=E, ch2=D

위와 같이 출력되는데 중요한 점은
char변수 ch1과 ch2를 main()에 선언하고 swap()함수를 선언하여 main에 입력되어 있는 ch1과 ch2를 값을 바꾸도록하겠습니다. 이러한 방법은 포인터를 이용하면 가능합니다

추가로 동일 문자 입력 받을시 중지 하도록 하겠습니다

#include<stdio.h>

 

void swap(char *px, char *py);

 

int main()

{

           char ch1, ch2;

 

           printf("문자입력 ch1 : ");

           scanf("%c", &ch1);

           fflush(stdin);

           printf("문자입력 ch2 : ");

           scanf("%c", &ch2);

          

           if(ch1==ch2)

           {

                     printf(“-----동일문자입력!!-----\n”);

                     break;

          

           }
          
printf("swap 전 : ch1 = %c ch2 = %c\n", ch1, ch2);

 

           swap(&ch1,&ch2);

 

           printf("swap 후 : ch1 = %c ch2 = %c\n", ch1, ch2);

 

           return 0;

}

 

void swap(char *px, char *py)

{

           int temp = *px;

           *px = *py;

           *py = temp;

}


 

Posted by mantwo