2010-10-27 4 views
14

Possible en double:
How to printf “unsigned long” in C?Comment imprimer un int long signé avec printf en C?

J'ai mon numéro comme si ...

int unsigned long number = 600851475143; 

Je suis en train de l'imprimer avec printf(). Chaque fois que j'essaie, j'obtiens un avertissement du compilateur.

J'ai essayé %uld, %ld et Googling n'a pas semblé me ​​trouver la réponse. J'apprends le C, mais je n'ai pas eu besoin d'utiliser un long int avant, donc je ne suis pas sûr de ce que je devrais utiliser.

Quel est le spécificateur que je poursuis?

+0

http://projecteuler.net/problem=3 –

+0

vous pouvez lire ce http://en.cppreference.com/w/cpp/io/c/fprintf –

Répondre

26

Je recommande d'utiliser l'ordre standard (c'est-à-dire non signé long int). %lu est le tag de format que vous recherchez.

printf("%lu", 5ul); 
+1

Désolé, je ne savais pas qu'il y avait une commande conventionnelle. Merci de me le faire savoir. – alex

7
int unsigned long number = 600851475143LU; 
printf("%lu", number); 

impressions 600851475143

+0

n'oubliez pas d'ajouter 'L' à la fin de cet entier. –

+0

Argh, oui .. Merci pour la remarque. Je viens de le copier de la question postée. –

Questions connexes