2014년 4월 7일 월요일

scanf 함수를 이용해 입력할 시 주의점 - 입력버퍼에 관하여



scanf(const * char format, ...);

 C언어를 배우면서 아마 처음으로, 대표적으로 배우는 입력에 관한 함수가 scanf함수일 것이다. 정해진 거 출력만 할 줄 알다가 이제 슬슬 입력 내용에 따라 출력물이 달라지게 할 수 있다는 데에 재미를 느끼기도 한다. 그런데 이 함수, 사용하는데 문제가 좀 있다.


 정말 구세주 같은 글이었다. 대체 왜!! 내 맘대로 출력이 안되는 것인가를 고민하고 고민하던 때에 접하게 된 글. 입력버퍼에 \n 이 남아있기 때문이었다니! 세상에나!!

 결국 scanf함수를 통해 사용자로부터 프로그래머가 원하는 값을 입력받으려면 입력버퍼를 비우거나, " %c"의 형태로 빈칸을 넣거나 해야 한다는 것. 아, 어려우면서도 놀랍다.

댓글 없음:

댓글 쓰기