일단 EOF문제는 아닙니다. 잘 처리하고있어요. (line[i][j] != EOF 는 불필요한 처리입니다. EOF는 문자가 아니라서 gets로 읽어들일 수 없어요.ㅋㅋㅋ)
예제는 돌려보고 오세요
1. 지금 문자를 한줄 덜 출력하고 있네요.
if(lineN > proN) 이나 if(lineN >= proN) 이나 똑같은 동작을 해야겠죠?
그럼 lineN이랑 proN이 똑같을 때 어떤 일이 발생하는지 봅시다.
2. line < proN일 때 문제가 발생할거 같습니다.
for (i = lineN - proN; ~~
이러고 있는데.. 그럼 i가 음수가 되지 않을까요?