2010-10-27 5 views
14

Mögliche Duplizieren:
How to printf “unsigned long” in C?Wie druckt man ein unsigned long int mit printf in C?

Ich habe meine Nummer wie so ...

int unsigned long number = 600851475143; 

Ich versuche es mit printf() zu drucken. Jedes Mal, wenn ich es versuche, bekomme ich eine Warnung vom Compiler.

Ich habe versucht %uld, %ld und Googling schien nicht die Antwort zu finden.

Ich lerne C, habe aber noch keine long int verwenden müssen, also bin ich mir nicht sicher, was ich verwenden soll.

Was ist der Spezifizierer, den ich jage?

+0

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

+0

Sie dieses lesen können http://en.cppreference.com/w/cpp/io/c/fprintf –

Antwort

26

Ich empfehle die Verwendung der Standardreihenfolge (d. H. Unsigned long int). %lu ist das Format-Tag, nach dem Sie suchen.

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

Sorry, ich wusste nicht, dass es eine konventionelle Bestellung gibt. Danke für die Information. – alex

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

druckt 600851475143

+0

Vergessen Sie nicht, 'L' am Ende dieser Ganzzahl hinzuzufügen. –

+0

Argh, ja .. Danke für die Bemerkung. Ich habe es einfach von der geposteten Frage kopiert. –

Verwandte Themen