c - programming - printf tipo long




Qual é o argumento para printf que formata um longo? (5)

A função printf aceita um tipo de argumento, como %d ou %i para um signed int . No entanto, não vejo nada por um valor long .


Caso você esteja procurando imprimir unsigned long long , use:

unsigned long long n;
printf("%llu", n);

Para todas as outras combinações, eu acredito que você usa a tabela do printf manual , pegando a linha, depois o rótulo da coluna para qualquer tipo que você esteja tentando imprimir (como eu faço com printf("%llu", n) acima).


Coloque um l (letra minúscula L) diretamente antes do especificador.

unsigned long n;
long m;

printf("%lu %ld", n, m);

Eu acho que para responder a essa pergunta definitivamente seria necessário conhecer o nome do compilador e a versão que você está usando e a plataforma (tipo de CPU, sistema operacional, etc.) para a qual está compilando.


Eu acho que você quer dizer:

unsigned long n;
printf("%lu", n);   // unsigned long

ou

long n;
printf("%ld", n);   // signed long





long-integer