pues efectivamente, tienen razon asi si funcionan, busque informacion de la funcion fprintf y encontre lo siguiente
Función fprintf ANSI C
int fprintf(FILE *stream, const char *formato, ...);
Esta función envía datos al stream apuntado por stream, bajo el control de la cadena apuntada por formato que especifica cómo los argumentos posteriores son convertidos para la salida. Si hay argumentos insuficientes para el formato, el comportamiento no está definido. Si el formato termina mientras quedan argumentos, los argumentos restantes son evaluados (como siempre) pero ignorados. La función retorna control cuando el final de la cadena de formato es encontrado.