• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    해결됨

버퍼 비우기 관련해서 질문드립니다.

21.01.01 20:19 작성 조회수 173

1

안녕하세요? 강의를 세세하게 해주시는 덕분에 

열심히 듣고 있습니다!

아래는 버퍼 비우기를 이해하기 위해 제가 짜본 코드인데

만약 이게 맞다면, scanf와 getchar()가 버퍼를 공유하고

있는 원리인가요?

int main() 

{

char c;

int a;

scanf("%c", &c); // 'asdf' 입력함

printf("%c \n", c); //'a'표시 (버퍼에서 'a'가 c에 대입)

a = getchar(); //'sdf' (scanf에서 c에 대입된 'a'사라짐)

putchar(a); //'s'표시('sdf'의 첫글자)

return 0;

}

답변 1

답변을 작성해보세요.

2

안소님의 프로필

안소

2021.01.01

안녕하세요.

네! 질문자님께서 생각하신게 맞습니다. scanf나 getchar()는 입력 버퍼에서 값을 가져오기 때문에 공유하고 있다고 말할 수도 있겠네요!