hj12203   4년 전

2

3

ABC

5

/HTP

이렇게 입력했는데 3 ABC까지는 정상적으로 작동하다가

5랑 /HTP입력하면 5 랑 / 가 무시됩니다.

cin.ignore()를 지우면 정상적으로 작동되는걸 보면 cin.ignore가 그 루프에서 입력되는 5와 /를 삭제한 것 같은데

cin.ignore()가 그 뒤에 입력되는 값에도 영향을 끼치는 것인가요?

djm03178   4년 전

scanf의 %d는 개행 문자를 읽지 않습니다. 하지만 getline은 개행 문자를 읽습니다. 그래서 scanf를 한 뒤에 한 문자를 읽으면 개행 문자가 읽히지만, getilne을 한 뒤에 한 문자를 읽으면 그 다음 줄의 첫 번째 글자가 읽힙니다.

댓글을 작성하려면 로그인해야 합니다.