while (getchar() != '\n');
위의 코드가 입력 버퍼를 비우는 코드이고
\n이 나오기 전까지의 문자들을 반환하는 것이라는 것은 알겠사와요
그러면 \n은 getchar()에 의해 반환되지 않았으니 입력 버퍼에 남아있어야 하는 것이 아닌가와요?
왜 입력 버퍼가 비워진다고 하는 것인가와요?
while (getchar() != '\n');
위의 코드가 입력 버퍼를 비우는 코드이고
\n이 나오기 전까지의 문자들을 반환하는 것이라는 것은 알겠사와요
그러면 \n은 getchar()에 의해 반환되지 않았으니 입력 버퍼에 남아있어야 하는 것이 아닌가와요?
왜 입력 버퍼가 비워진다고 하는 것인가와요?
입력버퍼에서 가지고 온 걸 비교해야지, 가지고 오지도 않은걸 비교할순 없잖아 무한정 가져올수는 없으니까 종료조건을 설정하는데 입력버퍼에서 '\n' 을 가지고 오면 반복문이 종료되게 설정한거야
앗 이해했사와요 C리니 오늘도 한 수 배워가와요 ^ㅅ^
입력버퍼가 다 비워지는게 아니라 한글자씩 비워지는거
고로 n이 리턴되지않았다면 버퍼에 남아있는거 맞음
그리고 첫댓은 무시해라 엉뚱한 답변임