매크로 함수 질문드립니다.
소희
2023.04.01
질문 제목 : 매크로 함수 질문드립니다.매크로 함수를 사용하였습니다. 에러 문제는 아니구요. 왜 이렇게 출력되는지 해서요
제가 분석해봤을땐 90이란 값이나오는데 어떻게 해서 45가 나오게 되는지 설명 부탁드립니다.질문 내용 :코드랑 출력 결과문은 사진으로 대체합니다.
-
힘찬
메크로가 뭣같은게 심볼로 안올라오는데다 저런 별거 아닌거 같은 부분에서 문제가 있기 때문입니다. 실제로 저런 문제 때문에 이전 c표준에서 inline 키워드가 도입됬습니다.
저게 왜 어째서 45가 되냐면...
SUM(4, 5)는 프리컴파일러에 의해 최종적으로 4+5란 코드로 붙여넣기가 됩니다.
따라서 a = 10*SUM(4,5) 란 표기가 실제 컴파일 시점에서 코드론 a = 10*4+5 가 됩니다.
우선순위에 의해 당연히 40+5가 되는거죠
저런거