오늘은 C언어의 다중 평가 문제에 대해서 알아보도록 하겠다.다중 평가 문제란 매크로에서 매개변수를 여러 번 평가함으로써 예상치 못한 결과가 발생하는 문제를 말한다. 특히 매개변수가 함수 호출이나 증감 연산자 같은 표현일 때 문제가 될 수 있다. 매크로는 텍스트 치환 방식으로 처리되기 때문에, 매크로 내부에서 매개변수를 여러 번 사용하면 그 매개변수가 반복 평가되게 된다. 예시)#define ABS(a) ((a) > 0 ? (a) : (-(a)))int x = 3;int result = ABS(x++);위 코드에서 ABS(x++)를 호출하게 되면, 매크로 다음과 같이 치환하게 된다.result = ((x++) > 0 ? (x++) : (-(x++)));1. (x++) > 0 에서 x++를 거쳐 4가 된다...