2010-10-27 50 views
14

Eventuali duplicati:
How to printf “unsigned long” in C?Come stampare un long int unsigned con printf in C?

ho il mio numero in questo modo ...

int unsigned long number = 600851475143; 

sto cercando di stampare con printf(). Ogni volta che provo, ricevo un avvertimento dal compilatore.

Ho provato %uld, %ld e Google non sembra aver trovato la risposta.

Sto imparando C, ma non ho dovuto usare un long int prima, quindi non sono sicuro di cosa dovrei usare.

Qual è lo specificatore che sto inseguendo?

+0

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

+0

potete leggere questo http://en.cppreference.com/w/cpp/io/c/fprintf –

risposta

26

Si consiglia di utilizzare l'ordine standard (ad esempio unsigned long int). %lu è il tag di formato che stai cercando.

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

Scusa, non sapevo che esistesse un ordine convenzionale. Grazie per avermi fatto sapere. – alex

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

stampe 600851475143

+0

non dimenticare di aggiungere 'L' alla fine di tale intero. –

+0

Argh, sì .. Grazie per l'osservazione. L'ho appena copiato dalla domanda postata. –

Problemi correlati