일단 strncpy 함수가 문자열의 끝을 만나기 전에 최대 문자 수 한도에 부딪히면 끝에 널 문자를 안 넣어주는데, 여기서 오류가 안 나는 건 시스템상의 차이인 것 같고요 (VS 2017 디버그 모드에서는 예제 입력에 대해 아무 출력을 안 했습니다.)
그 부분을 수정해서 돌려봐도 마지막 한 줄이 나오지 못하는데, 끝까지 정확하게 확인해보신 건지 모르겠습니다. 첫 줄 scanf 입력 후 개행 문자가 버퍼에 남아서 이 개행 문자만을 fgets가 한 번 읽어버리기 때문에 명령어 수가 하나 적게 수행되어버립니다.
sksioi1 6년 전
스택문제를 accept 받았습니다. 다만, 제가 궁금한 점은 scanf()함수를 사용하여 개행문자로 풀었을 때는 accept되고
fgets를 이용해서 풀었을 때는 계속 틀렸다고 뜹니다.
예제 결과는 두개다 정확히 나옵니다. 하지만 왜틀렸는지 어디서 오류가 났는지 궁금합니다.