제 컴파일러에서는 잘 돌아가는데 제출하면 컴파일에러가 뜹니다ㅜㅜ

ParkJihyuk Reply 7 years 5 weeks ago
#include <stdio.h> #include <stdlib.h> #define MAXLINE 1000 int getline(char line[], int maxline); int main() { int len; int max; char line[MAXLINE]; char longest[MAXLINE]; max=0; while((len=getline(line, MAXLINE)) != EOF) { if(len>max) { max = len; for(i=0; i<=max; i++) longest[i]=line[i]; } if(max > 0) printf("%s", longest); } return 0; } int getline(char s[], int lim) { int c, i; for(i=0; i<lim-1&&(c=getchar()!=EOF)&&c!='\n'; ++i ) s[i]=c; if(c == '\n') { ++i; } s[i]='\0'; return i; } 도대체 어디가 문제인지 잘 모르겠어요ㅜㅜ
ParkJihyuk Reply 7 years 5 weeks ago
main()함수에 int i; 를 추가했더니 이번엔 output time exceed가 뜨네요... 도대체 뭐가 문제일까요?ㅜㅜ
withcs1 Reply 7 years 5 weeks ago
마지막으로 output limit exceed된 코드에서.. 16라인 len!=EOF라는 조건을 넣으셨는데 만드신 getline은 문장의 길이를 리턴하는 함수이며 문자를 리턴하지 않습니다. 여기서 무한루프가 발생하네요 참고로 eof는 int값으론 음수를 갖고있습니다.