leechhe   8년 전

맞긴 했는데, main 함수 내부의 numbers 배열로 돌리면

'다 출력한 후' Runtime에러가 발생합니다.

스택 사이즈에 상관 없이 작은 값이라 생각했는데 왜 그럴까요?

답변 주시면 감사하겠습니다.

baekjoon   8년 전

지역 변수로 크기가 10000인 배열은 너무 크다고 생각합니다.

yukariko   8년 전

numbers[self-1]에서 배열 범위 초과가 발생할 수 있을것 같네요.

범위 체크를 더하기 전에 해주는게 문제라고 봅니다.

leechhe   8년 전

@baekjoon 님 답변 감사드립니다.

그런데 왜 선언되는 순간이 아니라 main 함수가 끝날 때 Runtime 에러가 발생하는 건가요?


@yukariko 님 답변 감사드립니다.

저도 처음에 그렇게 생각했지만... 출력하는 부분까지 문제 없이 진행되었습니다.

yukariko   8년 전

일단 9999만 보더라도

Self값이 10000을 넘어가기때문에

이부분에 오버플로우가 발생하는건 확실합니다.

마지막에 에러나는것은

main쪽 스택과관련된부분의 값이 변경됐을 수도 있구요

leechhe   8년 전

그렇군요 답변 감사드립니다 :)

댓글을 작성하려면 로그인해야 합니다.