Gaston, retornando a la discusicón en otro post de la standarización del CSS este es un claro ejemplo, el standart define a la funcion printf de la sgte. manera:
int printf( const char *args, ... );
Cuando quieras llevar tu fuente a otro compilador seguramente tendras problemas, porque el parametro extra no esta incluido en la declaracion ( el puntero a funcion de la función que escupe )
A mi modesto entender, la función printf, deberia dejarse tal cual, y para estos casos donde yo quiero cambiar el standart output ( que es la función que se encarga de escupir caracter a caracter como muy bien explica jfh900 ) le pondria otro nombre, nose por ejemplo Customprintf, en este caso todo tu codigo hace referencia a esta función y se deberias cambiar de compilador, solo tendrias que implementarla de nuevo, pero ahora todo tu codigo compilaria sin problemas y con poco esfuerzo de portabilidad.
Salu2!