int a, b;
char c;
...
scanf("%d", &a);
scanf("%d", &b);
scanf("%c", &c);
....
는 우리가 일반적으로 사용하는 scanf의 형태이다. 그러나 여기서 scanf를 위와 같이 사용하면 3번째 문자는 입력받을 수 없다. 두번째 값을 입력받고 버퍼에 남아있는 엔터값(ASCII 10)이 바로 들어가기 때문이다. 여러가지 해결 방법이 있을 수 있겠지만 간단한 방법은 다음과 같다.(만일 windows버젼에서 프로그래밍 한다면 fflush를 사용할 수 있다)char c;
...
scanf("%d", &a);
scanf("%d", &b);
scanf("%c", &c);
....
'Programming > C&C++' 카테고리의 다른 글
문자열 처리 (0) | 2007.01.21 |
---|---|
xmalloc (0) | 2006.10.31 |
[퍼옴]전처리기 (0) | 2006.03.09 |
[C]hashing (0) | 2006.01.18 |
dirent (0) | 2006.01.03 |