runtime error
sample input 다 맞게 나오는데 왜 런타임에러 뜨는지 모르겠습니다.
이번엔 진짜로 sample input 다 맞게 나오는데 왜 런타임에러인지 모르겠습니다.
fflush(stdin); 때문입니다.
fflush는 현재까지 입력받은 값을 제외한 나머지 버퍼에 저장되어 있는 값을 전부 버리게 됩니다.
sample input을 예로 들어 설명하면 10이 들어오고 나서 들어오는 나머지 입력이 전부 버려지게 되는 것이지요.
fflush 말고 scanf("%c", &dump);처럼 \n값을 무시하시기 바랍니다.
fflush를 사용할 경우 사용자가 입력하는 환경에서는 문제없이 작동할 수 있지만, 시스템이 입력할 경우에는 한줄 씩 입력하는 것이 아니라 한꺼번에 파일을 전부 입력하기 때문에 다른 값을 전부 제거할 가능성이 생깁니다.
그래서 fflush는 최대한 삼가는 것이 좋습니다.