1 2 3 4 5 6 7 | int a; char b; scanf("%d", &a); scanf("%c", &b); printf("%d", a); printf("%c", b); | cs |
처럼 연속사용할때 오류가 생긴다.
a의 값을 입력을 한 후에 enter 키를 누르면
컴퓨터는 enter를 키 입력값으로 받아들이기때문에, 버퍼에 엔터키값이 추가된다.
두번째 scanf는 enter키를 입력받았다고 생각하기에, 두번째 scanf는 동작하지 않는다.
해결법 1.
fflush(stdin); // 버퍼를 비워준다.
해결법 2
두번째 scanf(" %c") %c앞에 공백을 넣어 해결한다.
->이렇게 해주면 white space를 구분자로 간주한다고 한다.
댓글