음? scanf() 함수 실행시 사용자가 입력하는 값은 stdout 버퍼에 들어가지 않습니다.
scanf() 이후에 fflush(stdout) 을 넣으면 입력이 끝난 후에나 플러시가 될테니 글쓴분이 원하는대로 동작하지 않을텐데요.
printf() 의 마지막에 줄바꿈을 넣는건 실행 결과가 달라져버려서 적지 않았습니다...
planetarium님, muzie님 모두 답 해주셔서 감사합니다. 좋은 하루 되시구요 ^^
제가 알게된 자료와 님들의 답변을 보고 궁금증한게 생겼습니다.
:::: 추가질문 ::::: http://chiacu.egloos.com/2532993 이곳에서는
fflush(stdin); 은 gcc에서 먹히지 않는다고 했는데요
fflush(stdin) 과 fflush(stdout) 의 차이는 무엇이며
__fpurge(stdin) 도 위의 두개와 비교하자면 어떤건지 알려주시면 좋겠습니다.
셋 모두 버퍼를 비우기위해 쓰는것들 같은데
역할은 모두 같으나 단지 방언 같은건지 아니면
비슷한 일을 하지만 목적이 다른건지 궁금합니다.
,,,,,,,,,,,,,,,,,,,,,,,,, http://twitter.com/tothefelix http://thefelix.tistory.com/
'''''''''''''''''''''''''
질문 이전에 구글이든 이곳이든간에 검색이라도 좀 해보시는게 좋을것 같습니다.
구글에서 stdin, stdout, fflush를 찾아도 줄줄히 관련 내용이 딸려나오고
또 옆에 잇는 찾기를 사용해보시면 아시겟지만 kldp에서도 관련내용은 나옵니다.
(심지어는 디시에서 조차도 관련 내용은 나옵니다.)
음 이거 HTML을 그대로
음 이거 HTML을 그대로 따왔는데 글자 크기도 너무 작게 나오는 부분도 있고
코드 중간에 엔터는 왜들어간건지 모르겠네요;;;
,,,,,,,,,,,,,,,,,,,,,,,,,
http://twitter.com/tothefelix
http://thefelix.tistory.com/
'''''''''''''''''''''''''
답부터
답부터 말씀드리면
printf() 이후에 fflush(stdout); 을 추가해주시면 해결됩니다.
printf()할 내용이 buffer에만 들어가고 실제로 터미널에 출력이 되지 않은채 scanf() 가 실행되서 생기는 문제입니다.
보통은 scanf() 가 실행되기 전에 알아서 flush를 해주는거 같았는데 이상하군요.
scanf 이후에
scanf 이후에 fflush(stdout) 해주시는게 안전할겁니다.
(아 그 전에 printf문 뒤쪽에 \n 넣어주세요.)
scanf 입력으로 받는것도 버퍼에 들어갈테니..
음? scanf() 함수
음? scanf() 함수 실행시 사용자가 입력하는 값은 stdout 버퍼에 들어가지 않습니다.
scanf() 이후에 fflush(stdout) 을 넣으면 입력이 끝난 후에나 플러시가 될테니 글쓴분이 원하는대로 동작하지 않을텐데요.
printf() 의 마지막에 줄바꿈을 넣는건 실행 결과가 달라져버려서 적지 않았습니다...
planetarium님, muzie님
planetarium님, muzie님 모두 답 해주셔서 감사합니다. 좋은 하루 되시구요 ^^
제가 알게된 자료와 님들의 답변을 보고 궁금증한게 생겼습니다.
:::: 추가질문 :::::
http://chiacu.egloos.com/2532993 이곳에서는
fflush(stdin); 은 gcc에서 먹히지 않는다고 했는데요
fflush(stdin) 과 fflush(stdout) 의 차이는 무엇이며
__fpurge(stdin) 도 위의 두개와 비교하자면 어떤건지 알려주시면 좋겠습니다.
셋 모두 버퍼를 비우기위해 쓰는것들 같은데
역할은 모두 같으나 단지 방언 같은건지 아니면
비슷한 일을 하지만 목적이 다른건지 궁금합니다.
,,,,,,,,,,,,,,,,,,,,,,,,,
http://twitter.com/tothefelix
http://thefelix.tistory.com/
'''''''''''''''''''''''''
질문 이전에
질문 이전에 구글이든 이곳이든간에 검색이라도 좀 해보시는게 좋을것 같습니다.
구글에서 stdin, stdout, fflush를 찾아도 줄줄히 관련 내용이 딸려나오고
또 옆에 잇는 찾기를 사용해보시면 아시겟지만 kldp에서도 관련내용은 나옵니다.
(심지어는 디시에서 조차도 관련 내용은 나옵니다.)
댓글 달기