hnick   1년 전

다른 질문들 찾아보면서 반례를 열심히 찾아봤는데, 어디서 잘못됐는지 모르겠네영..


아 그리고 2번째 줄 코드를

#define Min(a,b) ((a)<(b))?((a):(b)) 로 괄호를 한번씩 더 씌워주면 왜 컴파일 오류가 나는지도 궁금합니다...!

wjdtmd486   1년 전


반례입니다

입력

700
800
900
198
330

출력

948

정상 출력

898

for문 부분을 다시 확인해보심이 어떠한가 싶습니다

wjdtmd486   1년 전

#define Min(a,b) ((a)<(b))?((a):(b)) 로 괄호를 한번씩 더 씌워주면 왜 컴파일 오류가 나는지도 궁금합니다...!

삼항 연산자 사용시 ? 오른쪽엔 참이되는 값, 거짓이 되는값이 : 로 구분이 되어야하는데 ()로 감싸버리면 참이되는 값인 ((a)):((b)) 만 남게되고 거짓인 값이 없어서 에러가 나는듯 싶습니다 

#define Min(a,b) ((a)<(b))?((a)):((b));

이런식으로 괄호를 씌우는건 에러가 안나네요 ^^

hnick   1년 전

허걱! 감사합니다! 아무 생각없이 define에 괄호 씌우고 있었네영..  덕분에 해결했습니대!

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