Q 11.18 메시지 “warning: macro replacement within a string literal”은 무슨 뜻 이죠? Answer : ANSI 이전의 어떤 컴파일러/전처리기는 매크로 정의를 다음과 같이 정 의할 경우: #define TRACE(var, fmt) printf("TRACE: var = fmt\n", var) 다음과 같은 식으로 호출하게 되면: CHAPTER 11. ANSI/ISO STANDARD C 193 TRACE(i, %d); 다음과 같이 확장하게 됩니다: printf("TRACE: i = %d\n", i); 즉, 매크로 인자로 나온 이름이 문자열 안에 있는 경우라도 확장시켜 버립 니다. (물론 이러한 버그가 위와 같이 유용하게 쓰일 수도 있지만, 이 것은 대개 초창기 컴..