인프런 커뮤니티 질문&답변

godwkrwkr님의 프로필 이미지

작성한 질문수

문제로 배우는 C언어

소수 찾기

for 구문내 printf 질문

21.01.27 19:01 작성

·

186

0

main 함수에서 for구문이 있는데, scanf받고 바로 printf안하고 scanf를 n번만큼 받고 다음에 printf가 진행되는것 설명해주실수있으신가요?

제생각엔 스캔하나 받고 bool판정하고 printf진행하고 다시 스캔받을것 같아서요...

답변 2

1

lazysky님의 프로필 이미지

2021. 02. 19. 16:29

저도 같은 의문이 생겨서 알아본 바로는 c언어 입출력 함수가 동작하는 방식 때문이라고 해요.

좀 더 자세히 이야기 하자면,

읽어올 때 white space(엔터, 스페이스) 단위로 읽고 입력은 엔터를 눌러야 끝납니다. 입력이 끝난 게 아니라면(즉 엔터가 아니라 스페이스로 입력을 계속 하고 있다면) 계속해서 입력을 요청한다. 조금 더 깊게는 버퍼라는 임시 저장 공간에 입력되고 있는 값들을 저장해둔다. 그리고 엔터가 눌리면 버퍼에 있는 것들을 차례대로 가져와 그때부터 다시 for문 반복이 재개되는 거죠.
입력할 때 스페이스가 아니라 엔터누르면서 입력해보세요. 그러면 생각하신 것처럼 출력될 거예요.

0

김태원님의 프로필 이미지
김태원
지식공유자

2021. 01. 28. 17:53

안녕하세요^^

무슨 질문인지 이해가 안되네요. 본인이 생각하는 코드를 짜서 제게 보여주시면 제가 봐드리겠습니다.