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

wlsdnr929님의 프로필 이미지
wlsdnr929

작성한 질문수

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

8.5 숫자와 문자를 섞어서 입력받기

while(getchar()!='\n')에 대해서 질문합니다!!

작성

·

418

1

앞부분 강의에서 while(getchar()!='\n')이 나왔을 땐 잘 이해되지 않았지만 직관적으로 '여러가지 글자가 들어오면 맨 앞글자만 받고 나머지는 무시하려고 쓰는구나'하고 넘어갔습니다. 그러다 이번 강의에서 다시 한번 보고 완전히 이해하겠다고 마음을 먹고 구글링도 해보면서 어느정도는 이해를 한것 같습니다. 혹시 제가 이해한 것이 맞는 개념인지 여쭤봐도 될까요?

제가 이해한 것은 일단 우리가 어떤 것을 입력하면 일단 그것은 버퍼에 저장됩니다. 그리고 그것을 scanf 나 getchar를 이용해서 가져가는 것이라고 생각했습니다. 그래서 예를 들어 앞글자만 필요한 프로그램에서 while(getchar()!='\n')을 사용하면 , 앞글자를 제외한 나머지 글자들이 호출을 받지못한 상태로 버퍼에 남아있습니다. 그것들을 '\n'과 비교하기 위해 getchar()로 가져오게 되면 , 그 결과 버퍼는 비워지기 때문에 나머지글자들은 의미가 없는 것으로 간주된다고생각했습니다.

--긴 글 읽어주셔서 감사합니다. 교수님 강의로 열심히 공부하고 있고 끝까지 완강하겠습니다.!!!!!--

답변 2

0

wlsdnr929님의 프로필 이미지
wlsdnr929
질문자

감사합니다~~

0

안녕하세요? 생각하시는 것이 맞습니다.

wlsdnr929님의 프로필 이미지
wlsdnr929

작성한 질문수

질문하기