이 문제를 풀기 위하여 먼저 궁금한 게 있습니다!!!!

gwpia0409 Reply 6 years 32 weeks ago
아래는 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; }
gwpia0409 Reply 6 years 32 weeks ago
이유를 찾았습니다 ㅎㅎㅎ 중간에 EOF쪽에 괄호를 잘못해서 계속 getchar에 eof를 넣는 꼴이 된 거 같네요...음음 잘못된 건 인지했어요 !
onacloud Reply 6 years 32 weeks ago
응원합니다