arete7   4년 전

인터넷 글들을 긁어서 해결은 했지만 궁금한 것들이 생겨서 질문합니다. 

1. while문 안에 scanf(~~~~) != eof 이라고 하는 걸 봐서 scanf가 return 값을 반환하는 일종의 함수인건가요? 

2. 실행할 때 예제 입력을 넣으면 쭉쭉 더한 값들을 출력하는데요 마지막으로 엔터를 눌러야만 7이 출력됩니다. 왜 그런건가요?

 

dyk777   4년 전

1) 네. 정확한 것은 레퍼런스를 참조해야겠지만, 제 얄팍한 지식에 따르면

scanf()는 입력받아서 저장에 성공한 변수의 개수를 반환하는 것으로 알고 있습니다.

2) 아마 콘솔창에 붙여넣기를 하신 것으로 생각되네요.

붙여넣기한 문자열은 "정수 공백 정수 개행 정수 공백 정수 개행 ... 정수 공백 정수"의 꼴을 하고 있을 겁니다.

마지막 입력에 대해서 개행이나 eof가 없으므로 입력이 완료되지 않아서 scanf()가 이를 기다리고 있는 것입니다.

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