getchar 와 putchar를 이용한 대문자 입력시 소문자로 소문자 입력시 대문자로 변환시켜주는 고전적인 코드를 짜는데

 

문자를 치고 결과가 출력된후에 한번 스페이스가 띄어진 상태로 커서가 깝빡거려서 그 위치에서 입력하게 되는데,

 

이게 거슬리는데 왜 그런건지 이해를 못하겠어.

 

이거 어떤원리로 이렇게 되는지 알려줘 형들

 

#include <stdio.h>

int main()

{
 int ch1=0;
 
 while (1)
 {
  ch1 = getchar();
  
  if (ch1 >= 65 && ch1 <= 90)
  {
   ch1 += 32;
   putchar(ch1);
   printf("\n");
  }

  else if (ch1 >= 97 && ch1 <= 122)
  {
   ch1 -= 32;
   putchar(ch1);
   printf("\n");
  }

  else if (ch1 == EOF)
   break;
 
  else  printf("잘못 입력하셨습니다. 다시 입력하세요\n");
  
  ch1 = 0;
  fflush(stdin);
  
  
 putchar(ch1);
 }

}