Как напечатать unsigned long int с printf в C? [дубликат]

Возможные Дубликаты:
Как распечатать "unsigned long" в C?

у меня есть мой номер вроде так...

int unsigned long number = 600851475143;

Я пытаюсь напечатать его с printf(). Каждый раз, когда я пытаюсь, я получаю предупреждение от компилятора.

Я пробовал %uld, %ld и гуглинг, похоже, не нашел мне ответа.

Я изучаю C, но мне не пришлось использовать a long int раньше, поэтому я не уверен, что я должен использовать.

что спецификатор я преследую?

2 ответов


Я рекомендую использовать стандартный порядок (т. е. unsigned long int). %lu - это тег формата, который вы ищете.

printf("%lu", 5ul);

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

печать 600851475143