|
입력끝을 검사하려고 굳이 getchar()를 호출해서 EOF인지 검사할 필요는 없습니다.
Ctrl+Z를 두번 입력해야 했던 것도 그 때문이죠.
scanf()의 리턴 값을 검사하면 됩니다.
즉, Ctrl+Z를 입력받으면 EOF를 리턴합니다.
#include <stdio.h>
int main(int argc, char* argv[])
{
int sum=0, n, cnt;
for (cnt = 0; scanf("%d", &n) != EOF; ++cnt)
sum += n;
printf("\nSum: %d Count: %d", sum, cnt);
return 0;
}
|