2675번 - 문자열 반복
2
3
ABC
5
/HTP
이렇게 입력했는데 3 ABC까지는 정상적으로 작동하다가
5랑 /HTP입력하면 5 랑 / 가 무시됩니다.
cin.ignore()를 지우면 정상적으로 작동되는걸 보면 cin.ignore가 그 루프에서 입력되는 5와 /를 삭제한 것 같은데
cin.ignore()가 그 뒤에 입력되는 값에도 영향을 끼치는 것인가요?
scanf의 %d는 개행 문자를 읽지 않습니다. 하지만 getline은 개행 문자를 읽습니다. 그래서 scanf를 한 뒤에 한 문자를 읽으면 개행 문자가 읽히지만, getilne을 한 뒤에 한 문자를 읽으면 그 다음 줄의 첫 번째 글자가 읽힙니다.
댓글을 작성하려면 로그인해야 합니다.
hj12203 4년 전
2
3
ABC
5
/HTP
이렇게 입력했는데 3 ABC까지는 정상적으로 작동하다가
5랑 /HTP입력하면 5 랑 / 가 무시됩니다.
cin.ignore()를 지우면 정상적으로 작동되는걸 보면 cin.ignore가 그 루프에서 입력되는 5와 /를 삭제한 것 같은데
cin.ignore()가 그 뒤에 입력되는 값에도 영향을 끼치는 것인가요?