강의

멘토링

커뮤니티

Inflearn Community Q&A

qweeex0259's profile image
qweeex0259

asked

C Programming - From Introduction to Game Development

Project

프로젝트 코딩후 실행하는데

Written on

·

182

0

실수로 오타가 나서 문자가 아닌 영어나 기호를 쳐버리니,

chance가 순식간에 다 소진되면서 게임이 끝나버리네요.

왜 else if에 오류에서 멈춰지지 않는지 궁금해요

c

Answer 1

0

nadocoding님의 프로필 이미지
nadocoding
Instructor

안녕하세요 나도코딩입니다.

코드에서는 "정수" 를 입력받기 위해 scanf 에 %d 를 명시했는데 "문자"가 들어오니 정상적으로 입력을 받지 못한 상황이네요, scanf 가 실패하게되면, 입력 버퍼에 있는 값을 지우지 않습니다.그래서 다음 루프에서 scanf를 실행할 때에도 처음 입력값 그대로 사용하기 때문에 말씀하신 문제가 발생합니다. 아래 링크 중 답변이 가장 많은 코드를 참고해볼만 합니다.

https://stackoverflow.com/questions/1716013/why-is-scanf-causing-infinite-loop-in-this-code

qweeex0259's profile image
qweeex0259

asked

Ask a question