6,7,8,9 라인에 큰 배열들을 선언하였는데
지역 변수로 선언하면 stack에 변수가 할당됩니다.(stack-여유-heap-data-code)
그런데 보통 stack의 최대 크기는 1MB 정도로 정해놓습니다.
최대 크기를 넘어가면 stackoverflow가 일어나서 프로그램이 정상적으로 동작하지 않습니다.
큰 배열을 선언한다면 전역 변수로 선언하면 해결됩니다.
1181번 - 단어 정렬
6,7,8,9 라인에 큰 배열들을 선언하였는데
지역 변수로 선언하면 stack에 변수가 할당됩니다.(stack-여유-heap-data-code)
그런데 보통 stack의 최대 크기는 1MB 정도로 정해놓습니다.
최대 크기를 넘어가면 stackoverflow가 일어나서 프로그램이 정상적으로 동작하지 않습니다.
큰 배열을 선언한다면 전역 변수로 선언하면 해결됩니다.
20010*52*2=2081040 = 2*10^6 > 1MB = 1*10^6
28라인을 보시면 strcmp의 반환값이 1과 비교 연산하고 있습니다.
window 운영체제에서는 strcmp의 값이 1,0,-1 중 하나이지만
linux 계열에서는 아스키 코드의 차이를 반환합니다.
따라서 1인지 검사하는게 아니라 양수인지 검사해야합니다.
(백준의 채점서버 : Ubuntu 16.04.7 LTS) - 우분투는 리눅스 계열입니다.
참고자료:
댓글을 작성하려면 로그인해야 합니다.
kyj030823 1년 전
예시의 문제는 잘 뜨는데 어떤 반례에서 코드가 문제가 있는지 알고 싶습니다.