안녕하세요, eclipse로 간단한게 scanf("%d", &변수명) 받는데 출력이 한칸씩 밀려나오는데
조회수 1646회
이런식으로 I m a student 가 먼저 나오고 입력이 나와야 하는데
scanf도 여러번 쓴것도 아닌데 구글링해도 찾아보기 어렵네요 ㅠㅠ
조언좀 해주시면 감사하겠습니다
eclipse, mingw로 하고 있습니다.
-
(•́ ✖ •̀)
알 수 없는 사용자
1 답변
-
출력 버퍼 때문에 그렇습니다.
아직 버퍼가 비워지지가 않아서 출력보다 scanf가 먼저 나온것 처럼 보이게 되었습니다.fflush(stdout);
scanf 전에 fflush를 사용해서 강제로 버퍼를 비워보세요.
참고하시라고 링크를 첨부합니다.
C언어 코딩 도장: 입출력 버퍼 활용하기- 감사합니다. 궁금한게 하나 있습니다. 버퍼에 아무것도 입력한것이 없는 초기상태에서 버퍼가 채워질 수 있나요?? 알 수 없는 사용자 2018.2.27 01:15
- stdio.h의 printf와 scanf는 buffered i/o로 함수 내부적으로 시스템의 버퍼를 이용합니다. 박상열 2018.2.27 11:49
댓글 입력