scanf쓸때 scnaf에서 입력도 안했는데 계속 아래 코드 실행하는 이유 아시나요?? 아시는 분은 좀 알려주세요 해결책도 알려주시면 감사하고요
fflush(stdin)를 사용하세요. 아 glibc에서는 동작하지 않는군요. http://dpig.tistory.com/archive/20061105 참고하세요. ---- Forensic Computing On Linux
아직 멀었어
scanf(...); scanf(...);
이런 경우가 있을 때, 아래의 scanf를 그냥 지나쳐 버린다는 것이지요?
엔터 즉, 라인피드(\n) 가 두번째 scanf(..)로 들어갔기 때문입니다.
저는 간단히 이렇게 하곤 했는데요..
scanf(...); getchar(); //'\n' 처리 scanf(...); getchar(); // 'n' 처리
아직 이렇게 해서 문제가 된 적은 없었지만, 생각지 못한 부작용이 있지 않을까 생각도 드네요.
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
fflush(stdin)를
fflush(stdin)를 사용하세요. 아 glibc에서는 동작하지 않는군요. http://dpig.tistory.com/archive/20061105 참고하세요.
----
Forensic Computing On Linux
아직 멀었어
간단히..
scanf(...);
scanf(...);
이런 경우가 있을 때, 아래의 scanf를 그냥 지나쳐 버린다는 것이지요?
엔터 즉, 라인피드(\n) 가 두번째 scanf(..)로 들어갔기 때문입니다.
저는 간단히 이렇게 하곤 했는데요..
scanf(...);
getchar(); //'\n' 처리
scanf(...);
getchar(); // 'n' 처리
아직 이렇게 해서 문제가 된 적은 없었지만, 생각지 못한 부작용이 있지 않을까 생각도 드네요.
댓글 달기