코드블락으로 할 때는 되는데

veritas95 Reply 9 years 5 weeks ago
여기에만 올리면 Wrong Enswer가 뜹니다. #include <stdio.h> int getline(char s[]) { int c,i; for(i=0; (c=getchar()) != EOF && c !='\n'; ++i) s[i]=c; if (c=='\n'){ s[i]='\0'; ++i; } return i; } int main() { int len; int max; int i; char line[1000]; char longest[1000]; max=0; while((len = getline(line)) > 0) if (len > max){ max=len; for(i=0; i<=max; ++i) longest[i]=line[i]; } if (max>0) printf("%d\n", max-1); printf("%s", longest); return 0; }
booksky Reply 9 years 5 weeks ago
안녕하세요. 조교 이은헌입니다. 입력값을 줄 때 가장 마지막 줄은 \n으로 끝나지 않고 EOF로 끝나게 됩니다. 이를 고려하고 코드를 작성하셔야합니다. 그리고 사소한 오류지만 if (max>0) printf("%d\n", max-1); printf("%s", longest); { }으로 감싸주지 않으면 printf("%d\n", max-1);만 if의 조건문에 묶이게 됩니다.