bono4023   3년 전

양팔저울 문제 풀다가 궁금한점이 생겼습니다. 아래 코드를 제출했을때 정답처리가 되었습니다.

아래 코드에서 N값이 30일경우 10번째 줄의 기저사례 범위 때문에 idx가 30인 경우도 들어가게 되는데

이 경우 weight 배열의 크기가 30이기 때문에  15, 17번 째줄에서 weight 배열의 잘못된 인덱스 참조가 이뤄져서 런타임 에러가 나오는게 맞지 않나요??

bupjae   3년 전

weight[30] 에 뭔가를 쓰거나 읽는 행동을 하는 프로그램의 수행 결과는 정의되지 않았습니다 (Undefined behavior)

   

정의되지 않은 프로그램의 수행 결과는 예측할 수 없습니다. 대부분의 경우 런타임 에러를 받겠지만, 틀렸습니다, 시간 초과, 메모리 초과, 출력 초과 또한 나올 수 있으며, 심지어 아주 우연히 맞았습니다 를 받을 수도 있습니다.

bono4023   3년 전

아 이런게 UB군요.... 감사합니다 !

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