stdio.h 헤더를 사용하는 입출력 함수들이다.
getchar()는 입력을, putchar()는 문자를 출력한다.
#include <stdio.h>
int main()
{
char text=0;
while(text != EOF)
{
text=getchar();
putchar(text);
}
return 0;
}
이러면 죽을때까지 입력한 값을 그대로 출력하는 작업을 반복한다.
(EOF는 -1의 값과 같으며 end of file, 즉, 파일이 끝날때라는 조건의 역할을 수행한다. 파일이 끝날 방법이 없는 코드이므로 계속 진행된다.)
그럼 getchar와 scanf와의 차이는?
getchar는 문자형 데이터 하나를 입력 받을 수 있다.
scanf("%d %d %d",&a,&b,&c);
이건 되는데
getchar는 이렇게 못한다.
정리하면 이것과 같다.
char ch;
scanf("%c", &ch);
getchar(ch);
입력받을게 많을 때 버퍼 문제 때문에 두개를 번갈아 쓰는 사람이 있다고 하지만 차라리 scanf쓰면서 fflush(stdin)로 버퍼를 초기화 하는게 나을듯 하다.