인프런 커뮤니티 질문&답변
버퍼를 비우는 while (getchar() != '\n'); 에 관한 질문입니다.
해결된 질문
작성
·
194
0
수고 많으싶니다. 어쩌면 정말 사소한 의문이지만 해답을 명확히 알 수가 없어 질문을 드립니다.
전 여러 예제를 풀면서 입력버퍼를 비울때 일반적으로 while (getchar() != '\n');를 사용해왔습니다. 그런대 이번 예제를 비롯하여 일부 강의에서 입력버퍼를 비우는데 while (getchar() != '\n') continue; 를 사용하는것을 보았습니다. 전 continue;를 추가하지 않아도 별다른 문제는 없었고 따로 코드를 만들어 디버그로 비교해보아도 두 방법의 차이를 알 수 없었습니다. 어째서 continue;를 추가한 것인지 이유를 알고싶습니다. 답변 부탁드립니다.
퀴즈
56%나 틀려요. 한번 도전해보세요!
프로그램에서 입출력(I/O) 작업을 할 때 버퍼를 사용하는 주된 이점은 무엇일까요?
프로그램 코드의 길이를 줄여줍니다.
데이터를 모아서 처리하여 입출력 효율을 높여줍니다.
사용자 입력 시 문법 오류를 자동으로 수정해 줍니다.
컴파일 시간을 단축시켜 줍니다.
답변 1
1
continue 없어도 동작은 똑같을 것입니다. 차이 없습니다. 똑같습니다!
동작에서의 차이는 없어 빼셔도 상관 없긴 하지만 while(getchar() != '\n'); 라고만 하는 것 보다 continue 를 넣어주는게 가독성면에서 더 좋게 느껴지지 않나 싶네요! 어떤 의미인지 확실히 눈에 들어오니까요.






잘 알려주셔서 감사합니다.