|
독학생 님이 쓰신 글 :
: 주석대로 사용했는데 똑같이 2번을 입력시 ㅡㅡ;;
:
: 10을 반환하네요
:
: 컴이 미친건지 컴파일러가 미친건지? ㅡㅡ;
:
: 소스 를 컴파일러하신다음 답변좀 달아주세요 ㅠ_ㅠ
그 10은 개행 제어 문자(LF: Line Feed, '\n')입니다.
그 게 어디서 온 것인고 하면, 직전의 scanf 시 마지막에 엔터키를 누르는데 바로 그 값입니다.
따라서, 문제가 되는 변수에 값을 입력받는 scanf 직전에 키보드 버퍼를 비울 필요가 있습니다.
키보드 버퍼에 한 개만 들어 있고 그 것만 제거하면 된다고 하면 단순히 getch(); 하여 버리면 됩니다.
여러개가 들어가 있을 수 있고 모두 제거해야 한다면, while(kbhit()) getch(); 하여 버리면 됩니다.
|