// is undefined behaviour, works on gcc #include #include int printf_count = 0; int printf(const char *fmt, ...) { printf_count++; va_list va; va_start(va, fmt); int ret = vprintf(fmt, va); va_end(va); return ret; } int main (void) { printf("TEST\n"); printf("TEST\n"); printf("TEST\n"); printf("%d printf's were called", printf_count); return 0; }