gfa5431   6년 전

11718 그대로 출력하기 처럼

EOF를 이용해서 풀었는데 코드블럭에서 실행된 후 아무 반응이 없네요






djm03178   6년 전

EOF는 그냥 나오는 게 아니라 EOF에 해당하는 키를 눌러야 됩니다. 실행 환경마다 다르니 구글에 찾아서 알아보세요.

키보드 입출력 대신 파일을 stdin으로 대신 보내줘도 됩니다.

gfa5431   6년 전

근데 제출할 때 제가 EOF에 해당하는 키를 눌러줄 수 는 없는데...

채점하면서 자동으로 EOF에 해당하는 키가 눌러지는 건가요?

만약 그렇다면 위에 제 코드도 자동으로 EOF에 해당하는 키가 눌러져서 맞아야하지 않나요?



stdin, stdout으로 입력받고 출력하는 방법을 까먹어서 그런데 혹시 조금 알려주실 수 있나요?

djm03178   6년 전

채점 환경은 입력 파일을 stdin으로 읽어서 하는 거기 때문에 파일의 끝까지 읽으면 그 다음부터는 EOF가 반환됩니다. cmd 창에서 실행파일 < input.txt 를 하면 똑같이 재현할 수 있고요. 키보드 입력으로 해결하려면 아마 컨트롤 Z인가를 눌러야 합니다.

그리고 위 코드는 수를 더하는 게 아니라 숫자 '문자'(아스키 코드)의 값과 공백에 해당하는 문자 값까지 더하기 때문에 틀립니다.

gfa5431   6년 전

아 감사합니다. 컨트롤 z를 몰라서 getchar로 풀어보았는데 scanf로 푸니까 되더라고요..

댓글을 작성하려면 로그인해야 합니다.