godboy121   1년 전

아래와 같은 코드를 통해 문제를 풀었습니다. 

그런데 brute_force()함수 안에 지역변수로

int r1,y1을 -1안에 선언 해주어서 돌렸을 때와 r1,y1를 전역변수로 선언해서 돌렸을 때 

예제 값은 동일하게 나오지만 후자의 경우 제출을 하게되면 바로 오답처리되는 경우가 생겼습니다.

왜 그런지 알 수 있을까요? 

djm03178   1년 전

전역으로 선언했을 때 어떻게 하신 건지 정확히 보여주시지 않으면 명확한 해답은 못 드립니다.

그리고 자바에는 전역변수라는 개념이 없는데, 제 추측으론 Main 클래스의 static 멤버로 만드셨다는 거겠죠? 그리고 초기화는 그 자리에서 했고 33번째 줄이나 34번째 줄에도 r1 = -1; y1 = -1; 같은 문장을 안 넣으셨다고 예상하는데 코드를 안 올리셨기 때문에 정확히는 모릅니다. 만일 그런 거라면, 33번째 줄에 도달할 때 r1과 y1은 이전 호출에서 사용한 값이 그대로 남아있으니 37번째 줄의 if문에 한 번도 안 걸리더라도 44번째 줄이 참이 됩니다.

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