작성
·
81
1
9:09쯤에 반드시 char c; 선언하고 지워야 하나요?
while(getchar() != '\n')continue; 로 작성하면 강의 코드와 다른 동작이 실행되나요?
답변 1
1
안녕하세요? 질문&답변 도우미 Soobak 입니다.
단순히 버퍼를 비우기 위해서는 질문자님께서 말씀해주신 것 처럼,whlie(getchar() != '\n') continue;
만을 사용하여도 됩니다.
하지만, 강의에서의 코드와는 다른 동작이 실행됩니다.
char c;
while ((c = getchar()) != '\n')
putchar(c);
: 이 코드에서는 개행 문자('\n'
)를 만나기 전까지 버퍼로부터 문자를 한 글자씩 읽어온 후, putchar()
함수를 통해서 해당 문자를 화면에 출력합니다.
반면,
while(getchar() != '\n')
continue;
: 위 코드에서는 단순히 버퍼로부터 문자를 읽어들이기만 합니다.