왜 안될까요?

SungBok Reply 9 years 4 weeks ago
크게 이상이 없어 보이는 데, 왜 안될까요?
booksky Reply 9 years 4 weeks ago
안녕하세요. 조교 이은헌입니다. Wrong answer가 뜨는 이유는 마지막 줄에 있는 EOF 때문에 그렇습니다. 코드를 보시면 i값이 증가하는 조건은 \n을 만났을 때만 증가하게 되는데, sample input을 통해 예를 들어보면 At vero eos et accusamus et iusto\n odio dignissimos ducimus, qui blanditiis\n praesentium voluptatum delenitiEOF 이런 식으로 input이 들어옵니다. 그러나 i값은 \n을 2번 만났기 때문에 3이 아니라 2가 되고, 그 결과 reverse된 문장을 2줄만 출력하게 되는 것입니다. 이 문제 외에도 코드에는 문제가 있습니다. 초기화를 할 때 char line[1000][1000] = { 0x00 }; 이렇게 초기화를 실행했는데, 올바른 초기화 방법은 모든 값에 0을 대입하거나 아니면 아래와 같이 선언하는 것입니다. char line[1000][1000] = { }; 입니다. 빈 배열을 선언해주면 전부 0값으로 채워지게 됩니다. 원래 하던 방식으로 초기화를 하면 컴파일 환경에 따라 문제가 발생할 수도 있습니다.
SungBok Reply 9 years 4 weeks ago
감사합니다! 제 컴파일 환경에서 (visual 2012) { } 이 실행이 되지 않아서 {0x00}으로 초기화해준 것이에요.