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

jdna1009님의 프로필 이미지
jdna1009

작성한 질문수

홍정모의 따라하며 배우는 C언어

7.2 표준 입출력 함수들 getchar(), putchar() 예제

putchar() getchar()

작성

·

399

0

    char ch;

    ch = getchar();

 

    while (ch != '\n')

    {

        putchar (ch);

        ch = getchar ();

    }

    putchar (ch);

   

위쪽에 있는 ch = getchar();를 통해 qwer의 문자를 입력 받았다고 하면

putchar()에서 한문자씩 출력이 되서 처음에는 q값이 출력이 되면

그 다음 코드인 ch = getchar();를 만나는데

여기서 다시 ch의 값을 다시 입력해줘달라는 코드 아닌가요?

 

처음 ch = getchar();에서는 입력을 받았는데 왜 while문 안에있는 ch = getchar();에서는 입력을 다시 안하는 건가요??

답변 1

0

getchar() 함수는 표준 입력(stdin)에서 한 문자를 읽어서 입력 버퍼에 저장합니다.

가령 위 코드에서 ch = getchar();를 통해 처음에는 q값을 입력받았다고 하면

while문 안에있는 ch = getchar();에서는 입력 버퍼에 저장되어 있는 다음 입력값,

그러니까 wer값을 그대로 읽어옵니다.

따라서 while문 안에있는 ch = getchar();에서는

입력을 다시 하지 않아도 입력버퍼에 저장되어 있는 문자를 읽어오게 됩니다.

jdna1009님의 프로필 이미지
jdna1009

작성한 질문수

질문하기