여기에만 올리면 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;
}
안녕하세요. 조교 이은헌입니다.
입력값을 줄 때 가장 마지막 줄은 \n으로 끝나지 않고 EOF로 끝나게 됩니다.
이를 고려하고 코드를 작성하셔야합니다.
그리고 사소한 오류지만
if (max>0)
printf("%d\n", max-1);
printf("%s", longest);
{ }으로 감싸주지 않으면 printf("%d\n", max-1);만 if의 조건문에 묶이게 됩니다.