-
C scanf 버퍼 문제myCode/GeneralKnowledge 2016. 4. 11. 19:46
int a, b;
char cal;
printf("두 개의 정수를 입력:");
scanf("%d %d", &a, &b);printf("연산 방법을 입력:");
scanf("%c", &cal);위와 같은 식으로 코드를 짜고 생각없이
두번째 scanf가 제대로 실행되지않고 프로그램이 끝나버린다.
이유는?
문자를 입력 받고 엔터를 치게 되면 입력 버퍼에 엔터가 남아있기 때문에
두번째 scanf에 \n이 자동으로 입력된다.
해결법
두 scanf 문구 중간에
while(getchar() != '\n');
이 코드를 넣으면 버퍼가 비워지고 문제 해결!
'myCode > GeneralKnowledge' 카테고리의 다른 글
[C++] Decimal to Binary (0) 2016.08.15 KLDP 포스트 하나, 및 기초 함수 구현법 (strcpy, atoi) (0) 2016.07.27 [C++] 조합(Combination) 구하기 (0) 2016.06.06 Towers of Hanoi (0) 2016.04.24 Tales of Mintrupt - about int* and int[] (0) 2016.04.21