¿Cuál es el argumento de printf que formatea un long?

La función printf toma un tipo de argumento, como %d o %i para un signed int. Sin embargo, no veo nada para un valor long.

Solución

Ponga una "l" (letra L minúscula) directamente antes del especificador.

unsigned long n;
long m;

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

Creo que quieres decir:

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

o

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