아래는 text book에 나오는 줄, 단어, 공백 세는 프로그램에서 '단어 개수'를 세는 부분만 빼서 소스코드를 짜본 것입니다...
그런데 왜 자꾸 1만 출력하는지 잘 모르겠습니다 ㅠㅠㅠ
어디가 잘못되었는지 모르겠네요 ㅠㅠ
이 방법을 응용하고 싶은데...아무래도 제 답안 보시면 아시겠지만, 이게 문제가 되서 안풀리는 거 같아서요... 음음 왜일까요... 막혔네요...
#include <stdio.h>
#define in 1 /*inside a word*/
#define out 0 /*outside a word*/
int main()
{
int c, wc, state; // c: char, wc : word count
state = out;
wc = 0;
while ((c = getchar() != EOF))
{
if (c == ' ' || c == '\n' || c == '\t')
state = out;
else if (state == out)
{
state = in;
++wc;
}
}
printf("%d\n", wc);
return 0;
}