• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

for 구문내 printf 질문

21.01.27 19:01 작성 조회수 105

0

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

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

답변 2

·

답변을 작성해보세요.

1

lazysky님의 프로필

lazysky

2021.02.19

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

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

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

0

안녕하세요^^

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