좋아요, 코드 요리사의 문제를 해결하고있었습니다 (매우 쉽습니다). 간략한 내용은 다음과 같습니다.fflush (stdin) before() in c
-A 문자열이 주어지고 질문 문자열에 사용 된 문자가없는 다른 문자열이 생성되어야합니다. 대문자와 소문자는 동일하다고 가정합니다.
- 모든 알파벳이 사용 된 경우 ~ 기호 만 인쇄하십시오.
필자의 입력에서 오류가 발생하고 이것이 gets() 전에 fflush (stdin)를 사용했기 때문에 논리가 정확합니다. 이 오류가 왜 발생했는지 설명하십시오. 나머지 코드는 무시하십시오. 문제
는링크 : http://www.codechef.com/problems/NOLOGIC/
링크 잘못 솔루션 : http://www.codechef.com/viewsolution/3881817
링크 수정 솔루션 : http://www.codechef.com/viewsolution/3881827
Pls는 참고 : 수정 코드에서 난 단지 FFLUSH를 사용하지 않는 변화를 (만든 표준 입력) 및 getchar() 사용
'fflush'는 입력 스트림이 아닌 출력 스트림에 사용하기위한 것입니다. http://stackoverflow.com/questions/2979209/using-fflushstdin/2979217#2979217 –
fflush (stdin)은 정의되지 않은 동작입니다. – Martin
@RSahu & scy7he, 구현에 따라 다릅니다. 예를 들어 Linux의 경우 : "입력 스트림의 경우 fflush()는 기본 파일에서 가져 왔지만 응용 프로그램에서 사용하지 않은 버퍼링 된 데이터를 삭제합니다. 스트림의 열린 상태는 영향을받지 않습니다." [http://linux.die.net/man/3/fflush] –