stonejjun03   5년 전

배열에 모든 한수를 저장해 놓고 입력한 값이 어느 두 한수 사이에 있는지를 보아서 갯수를 출력하는 방식의 프로그램입니다. 

110은 물론이고 2자리수, 한수, 한수-1,한수+1등 다양한 수를 도전해 보았는데 오류가 나는 값을 아직 못찾았습니다.

djm03178   5년 전

그대로 내니 맞았습니다.

제출하신 코드에는  arr[100+result]=1e9; 라는 문장이 없습니다.

왜 틀린 부분을 찾아서 고친 뒤에, 다시 제출해서 맞게 나오는지 확인하지 않고 질문을 올리셨나요?

stonejjun03   5년 전

일단 제출하지 않고 올린점은 사과를 하겠습니다.

그런데, 원래는 21번째줄 대신에 30번째줄을 사용하여 999~1000번에 대한 예외처리를 하였는데, 이렇게 사용하면 무엇이 틀린건지 알려주실수 있나요???

djm03178   5년 전

arr은 1000개의 원소를 가지고 있으므로 원소는 0부터 999까지만 있습니다. 그런데 루프는 1000까지 돌면서 arr[1000] 뿐만 아니라 arr[1001]까지도 접근합니다. 배열의 범위를 벗어나기 때문에 무슨 값을 읽을지 알 수 없습니다.

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