ndamin   1년 전

int count[maxvalue]={}; 함수를 main 함수 내에 선언하면 틀렸다고 나옵니다.

왜그럴까요???

bupjae   1년 전

22번째 줄에서 i < maxvalue+1 이라고 했기 때문에 i = 10001 이 될 수 있습니다.

이렇게 될 경우 count[10001] 의 값은 정의할 수 없습니다. (Undefined Behavior)

   

count 를 바깥에 선언했을 때 맞았습니다를 받은 것은 순전히 운이 좋았을 뿐이며

프로그램이 조금만 달라지거나, 컴파일러가 달라지거나 하면 전혀 다른 결과가 나올 수 있습니다.

"틀렸습니다" 가 될 수도 있고, "런타임 에러"가 될 수도 있고, ... 예측이 전혀 불가능합니다.

ndamin   1년 전

오 그렇네요.... 조촐한 제 소스코드를 읽어주시고 조언 해 주셔서 감사합니다!

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