1152번 - 단어의 개수
안녕하세요. 코딩을 작성해보았습니다.
주어진 예제는 정상 출력이 됩니다.
하지만 결과는 틀렸습니다가 나옵니다..
제 지식으로는 틀린부분을 찾기가 어려워 도움을 구합니다.
뿐만 아니라, 컴파일은 되지만 29행에서 'ch에서 잘못된 데이터를 읽는 중입니다'라는 경고가 뜹니다.
저는 문제가 없다고 생각하는데, 어디서 비롯된 것인지
부족한 부분 조언해주시면 감사드리겠습니다:)
일단 char ch[1000001];는 전역으로 선언하시는 것을 추천드립니다. 지역 변수는 일정 이상의 메모리 할당을 감당할 수 없기 때문에 오류가 날 수 있습니다.
그리고 저렇게 코드를 짜시면 아래 반례가 생깁니다. 한번 참고하고 수정해보시기 바랍니다.
gcc 컴파일러 기준 제 경우 빌드할 때 아무런 에러가 안 나는데.. 혹시 MSVC(비주얼 스튜디오 내장 컴파일러)를 사용 중이신가요?
방금 VS2019로도 빌드해봤는데 별 다른 에러가 안 나네요..
아 그러시군요ㅠㅠ 저는 비쥬얼스튜디오 사용하고 있습니다. 여러 방면으로 확인해주셔서 감사합니다:)
에러코드는 c6385로 뜨는데,, 이것이 무엇이 문제일 때 발생하는지 글을 읽어봐도 이해를 하기 어렵더라구요,,,
늘 큰 도움 주셔서 너무 감사드려요!!:)
VS2019에서 에러 나오는 거 확인했습니다.'ch'에서 잘못된 데이터를 읽고 있습니다. 읽기 가능한 크기는 '1000001'바이트인데 실제로는 '-1'바이트만 읽을 수 있습니다.위 메시지는 사실 일단은 무시해도 될 것 같습니다. 실제로 읽을 수 있는 범위를 초과한다면 프로그램이 SIGSEGV, 세그멘테이션 폴트 신호를 보내게 되는데 그럼 어차피 백준에서 런타임 에러로 간주하고 결과에 그대로 띄울테니까요...
경고는 어디까지나 경고고 '초과할 수도 있을 것이다' 정도의 의미로만 받아주시면 될 것 같습니다.
댓글을 작성하려면 로그인해야 합니다.
beth_shan 2년 전
안녕하세요. 코딩을 작성해보았습니다.
주어진 예제는 정상 출력이 됩니다.
하지만 결과는 틀렸습니다가 나옵니다..
제 지식으로는 틀린부분을 찾기가 어려워 도움을 구합니다.
뿐만 아니라, 컴파일은 되지만 29행에서 'ch에서 잘못된 데이터를 읽는 중입니다'라는 경고가 뜹니다.
저는 문제가 없다고 생각하는데, 어디서 비롯된 것인지
부족한 부분 조언해주시면 감사드리겠습니다:)