여기서 우리는 main()에서 printf() 함수의 출력을 변경하는 방법을 볼 것입니다. 여기서 우리는 주어진 유형의 모든 printf() 문을 다른 유형으로 변경하는 함수를 정의할 것입니다.
이 작업을 수행하기 위해 #define 매크로를 사용할 것입니다. 이 매크로는 함수 내에서 정의됩니다. 함수에서 사용하지 않고 #define 줄을 직접 넣을 수 있지만 이 경우 항상 printf()가 변경됩니다. main을 사용하여 제어하려면 먼저 함수를 호출해야 합니다.
예시
#include <stdio.h>
void changePrintf() { //always any printf will print 50
#define printf(x, y) printf(x, 50);
}
main() {
int x = 40;
changePrintf();
printf("%d\n", x);
x = 60;
printf("%d", x);
} 출력
50 50