EOF를 scanf와 getchar에서 사용할 때 궁금점
스릉흔다
2023.04.01
질문 제목 : eof를 scanf와 getchar에서 사용할 때 궁금점eof를 scanf와 getchar에서 사용할 때 scanf에서는 의도한 결과가 나오지 않습니다.질문 내용 :
#includestdio.h
int main()
{
int a=0,num,i;
for(i=0; a!=eof; i++)
{
fputs(값을 입력하세요 : ,stdout);
a=getchar();
fflush(stdin);
num=i;
}
printf(%d,num);
return 0;
}
에서는 정상 작동이 됩니다.
ctrl+z를 누르면 eof값이 전달이 되서 종료가 되거든요
그런데 a=getchar();를
scanf(%d,&a);
로 바꿔줬는데 ctrl+z를 입력을 해도 종료가 안되네요.
직접 -1을 입력해 주지 않으니 종료가 안됩니다.
왜 그런가요?