편집을 취소할 수 있습니다. 이 편집을 되돌리려면 아래의 바뀐 내용을 확인한 후 게시해주세요.
최신판 | 당신의 편집 | ||
5번째 줄: | 5번째 줄: | ||
==예시== | ==예시== | ||
{{소스헤더|버퍼를 비우지 않는 경우}} | {{소스헤더|버퍼를 비우지 않는 경우}} | ||
< | <source lang='C'> | ||
#include <stdio.h> | #include <stdio.h> | ||
int main() { | int main() { | ||
16번째 줄: | 16번째 줄: | ||
return 0; | return 0; | ||
} | } | ||
</ | </source> | ||
: → 프로그래머는 a 변수에 숫자를 받고 c 변수에 문자를 받으려고 한 것이다. 하지만 실제 프로그램을 실행하면 c 변수를 입력하기도 전에 종료되어 버린다. 숫자를 입력하면서 친 엔터키로 개행문자('\n')가 발생하고 c 변수가 채워진 것이다. | : → 프로그래머는 a 변수에 숫자를 받고 c 변수에 문자를 받으려고 한 것이다. 하지만 실제 프로그램을 실행하면 c 변수를 입력하기도 전에 종료되어 버린다. 숫자를 입력하면서 친 엔터키로 개행문자('\n')가 발생하고 c 변수가 채워진 것이다. | ||
{{소스헤더|버퍼를 비우는 경우}} | {{소스헤더|버퍼를 비우는 경우}} | ||
< | <source lang='C'> | ||
#include <stdio.h> | #include <stdio.h> | ||
void clear_stdin() { | void clear_stdin() { | ||
36번째 줄: | 36번째 줄: | ||
return 0; | return 0; | ||
} | } | ||
</ | </source> | ||
:→ 추가 작성한 함수 clear_stdin()를 실행하면 stdin의 개행문자가 제거되어 의도한대로 동작한다. | :→ 추가 작성한 함수 clear_stdin()를 실행하면 stdin의 개행문자가 제거되어 의도한대로 동작한다. | ||