¿Cómo imprimir "largo sin firmar" en C?
Nunca puedo entender cómo imprimir unsigned long
tipos de datos en C.
Supongamos unsigned_foo
que es un unsigned long
, luego intento:
printf("%lu\n", unsigned_foo)
printf("%du\n", unsigned_foo)
printf("%ud\n", unsigned_foo)
printf("%ll\n", unsigned_foo)
printf("%ld\n", unsigned_foo)
printf("%dl\n", unsigned_foo)
Y todos imprimen algún tipo de -123123123
número en lugar del unsigned long
que tengo.
Aceptado
%lu
es el formato correcto para unsigned long
. Parece que hay otros problemas en juego aquí, como corrupción de memoria o una variable no inicializada. ¿Quizás mostrarnos una imagen más grande?
para entero %d
por mucho tiempo %ld
Por mucho tiempo int %lld
Para int largo y largo sin firmar %llu