작성
·
231
0
8.5 3분 예제
1)강의에 알려주신데로 입력 했는데 강의 와는 다르게 B 1 2를 입력한후 12칸의 빈 줄이 생겼습니다. 2)또한 buffer가 어떤 상태라서 두번째 입력(B 1 2)을 하였을때 빈칸이 생기는지 궁금합니다.
감사합니다.
답변 1
0
1) 잘 보시면 강의에서 교수님께선 "A공백3공백3" 이 아닌 "A공백3공백3공백" 으로 입력하셨어요! 강의와 똑같이 "A공백3공백3공백" 으로 입력하면 강의와 똑같은 결과 나오네요.
2) 2분 40초에서 설명해주십니다! A 3 3 입력하고나서 엔터 딱 쳤을 때 그 개행문자 '\n' 도 입력 버퍼에 문자로서 들어가는데요, 그게 버퍼에 남아있다가 다음 반복 scanf 의 "%c" 에서 그 개행문자를 읽어들여서 그렇습니다. 그렇기 때문에 다음 반복에서는 c 변수에 '\n' 이 들어가기 때문에 (B 가 들어갈거라는 예상과는 달리) 이 '\n' 이 display 함수로 출력이 되서 그런 것입니다.
이 강의는 관련 질문이 많았던 강의입니다. 해당 동영상 강의의 커뮤니티에서 다른 질문&답변글들도 참고해보시면 공부에 도움 되실 것 같아요!
아 넵, 감사합니다.