C · Essencial · Português · Técnico
especificador de formato
Sequência iniciada por % em printf e scanf, como %d, %s e %f, que indica o tipo do argumento correspondente e como convertê-lo. Deve casar exatamente com o tipo passado.
Onde usar
Usar %d para long ou %f para int é comportamento indefinido e dá lixo na saída. Compile com -Wall para o gcc avisar de formatos incompatíveis.
Em código
size_t n = 3;
long big = 100000L;
double d = 2.5;
printf("%zu %ld %.2f\n", n, big, d);Exemplos
Esse especificador de formato está errado, o argumento é um size_t.
O especificador de formato %s espera um char *, não um char.
Cuidado
Usar %d para tudo: size_t pede %zu e long pede %ld.
Sinônimos
format specifier