inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

Maruche님의 게시글

Maruche Maruche

@yunifa5407

수강평 작성수
1
평균평점
5.0

게시글 3

질문&답변

4-1 질문입니다.

이건 scanf라서 그런겁니다. all이나 empty에서 숫자 입력이 없으면 기다리는게 맞습니다. 다만 all이나 empty 입력 후 들어오는 입력은 문자열입니다. %d는 정수형을 기다리는데 문자열이 들어오니까 %d를 무시하게 되고 루프를 돌아서 다음 입력을 받게 되는겁니다. 저 코드에 cout 으로 s랑 x출력해보고 예제 똑같이 입력해보면 대충 이해 갈겁니다. add 1 처럼 문자와 숫자가 동시에 입력되면 바로 cout에서 출력되지만 add나 empty만 입력하면 cout은 출력이 없을겁니다. 그 다음에 다시 명령어 add 3같은거 입력하면, 그 이후에 all과 add 명령어의 cout이 수행될겁니다. 정확히는 all 다음의 정수형 입력을 무시하고 루프 돈 다음 scanf에서 입력버퍼에 쌓인 add 3을 읽는거겠죠. 저도 공부하는 입장이라 정확하지 않은 부분이 있을 수 있지만 대략 이런 구조라고 생각되어 몇 자 남깁니다.

좋아요수
0
댓글수
2
조회수
332