wrong answer

hyeinn1457 Reply 7 years 7 weeks ago
#include <stdio.h> int main() { char c; int i, a, max; char line[1000]; char aline[1000]; i = 0; a = 0; max = 0; while ((c=getchar()) != EOF) { if(c!='\n') { line[a] = c; ++a; } else { if (a > max) { max = a; for (i = 0; i < max; ++i) aline[i] = line[i]; } a = 0; } } printf("%d\n", max); for (i = 0; i < max; ++i) { putchar(aline[i]); } printf("\n"); return 0; } 인풋 아웃풋 동일하게 나오고요.. 다른 질문들 보니까 마지막 문장에는 \n이 아니라 EOF가 나올 수 있다고 그 부분을 추가하라고 하신 걸 봤는데 맨처음 while문에 EOF나오면 프로그램이 끝나도록 했으니까 그걸로 해결된 거 아닌가요? 왜 계속 wrong answer가 뜨는 것일까요...
withcs1 Reply 7 years 7 weeks ago
프로그램이 끝나기전에 마지막문장을 처리할 수 있어야되요 else if 로 EOF일때를 넣어주셨지만 그 조건문이 while문으로 묶여있기때문에 while문 조건에 의해 밖으로 빠져나가게됩니다..