seonjoo2030   5년 전

제가 짠 코드로 돌렸을 때 맞았다고 나오긴 하는데, 먼저 for문에 들어가서 num을 받는 부분이 궁금합니다. 

for문을 구분하는 문자(?)가 엔터 값과, 스페이스 값 모두 적용이 되는 건가요?

제가 123 345 입력을 하면, 먼저 123이라는 값이 들어가서 for문을 수행하고, 그 다음 들어온 345가 차례대로 수행되는데

이 숫자를 구분하는 것이 스페이스와 엔터 모두 가능한 건지, 그리고 알고리즘 실행이 어떤 순서로 되는지 궁금합니다.

글을 잘 못써서 어떻게 질문을 해야 할 지 모르겠는데,,,죄송합니다 ㅜㅜ

djm03178   5년 전

scanf는 기본적으로 모든 화이트스페이스 문자들 (공백, 엔터, 탭 등)을 구분자로 사용합니다.

키보드에서 엔터를 눌러야만 다음 진행이 되는 것은 엔터 키가 눌릴 때까지 콘솔이 대기를 하기 때문이고, scanf의 동작과는 무관합니다. 엔터를 누르는 순간 입력 버퍼에 그 동안 입력했던 내용이 차례로 들어가게 되고 이 전까지 scanf는 아무것도 모르고 그냥 자고 있습니다.

채점 환경에서는 키보드로 입력하는 것이 아니라 파일의 내용이 입력 스트림을 통해 들어가기 때문에 엔터 키에 관계없이 연속적으로 진행이 됩니다.

seonjoo2030   5년 전

와...명쾌한 해설 감사합니다!!!!

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