--변수; 를 했는데 2가 감소하네요..;왜이럴까요? sgc109 제대로된 코드인 것 같은데 자꾸 결과가 잘못나와서 디버깅을 해봤습니다. 그런데 이 부분에서 height = min(height, fences[--lo]); lo 라는 변수가 1이 감소하고 fences 배열에서도 1작은 인덱스의 값을 반환해야 할 것으로 예상했는데 값자기 lo 가 3 에서 1로 줄어들었고 fences[1] 의 값이 참조되었습니다. (참고로 min(a,b) 는 매크로로 a<b?a:b ) 비주얼 스튜디오2013 을 사용했고 --lo 값을 lo 로 바꾸고 윗 줄에 lo--; 를 넣었더니 정상적인 값이 나왔습니다.. 제가 모르는 무언가가 있는건가요?? 아니면 버그.. 는 아니겠죠? 9년 전
3개의 댓글이 있습니다. JongMan 답을 말씀하셨네요. 매크로이기 때문에 해당 코드가 height = (height < fences[--lo] ? height : fences[--lo]); 로 expand 됩니다. ㅎㅎ 9년 전 link reedong fences[--io]가 값에따라 매크로에서 두번 사용될 때가 있겠네요 9년 전 link sgc109 와...이럴수가있군요. 생각지도 못했네요 ㅎㅎ 감사합니다!! 9년 전 link 정회원 권한이 있어야 커멘트를 다실 수 있습니다. 정회원이 되시려면 온라인 저지에서 5문제 이상을 푸시고, 가입 후 7일 이상이 지나셔야 합니다. 현재 문제를 푸셨습니다.
sgc109
제대로된 코드인 것 같은데 자꾸 결과가 잘못나와서
디버깅을 해봤습니다. 그런데 이 부분에서
height = min(height, fences[--lo]);
lo 라는 변수가 1이 감소하고 fences 배열에서도 1작은 인덱스의
값을 반환해야 할 것으로 예상했는데 값자기 lo 가 3 에서 1로 줄어들었고 fences[1] 의 값이 참조되었습니다.
(참고로 min(a,b) 는 매크로로 a<b?a:b )
비주얼 스튜디오2013 을 사용했고 --lo 값을 lo 로 바꾸고 윗 줄에
lo--; 를 넣었더니 정상적인 값이 나왔습니다..
제가 모르는 무언가가 있는건가요?? 아니면 버그.. 는 아니겠죠?
9년 전