#include <stdio.h>
#ifndef EOF
#define EOF (-1)
#endif
int main(void)
{
int nb, nl, nt, c;
nb = 0;
nl = 0;
nt = 0;
while ((c = getchar()) != EOF){
if (c == ' ')
++nb;
else if (c == '\n')
++nl;
else if (c == '\t')
++nt;
}
printf("Input has %d blanks, %d tabs, and %d newlines\n", nb, nt, nl);
return 0;
}
이 코드가 작동하지 않는 이유는 무엇입니까?우분투의 getchar()에 대한 EOF 루프가 작동하지 않습니다. 11.10
이 코드를 내 우분투 11.10에 컴파일했습니다. EOF
을 \n
으로 바꾸면 예상대로 작동하지만 EOF에서는 작동하지 않습니다.
* EOF *로 작업하지 않는다는 것은 무엇을 의미합니까? –
들여 쓰기, 제발? – hivert
빈칸, 탭 및 줄 바꿈의 수는 루프가 계속되는 것처럼 나오지 않습니다. 중지하는 방법 – Mux