How to print an unsigned long int with printf in C?

c, printf

Solution

I recommend using standard order (i.e. unsigned long int). `%lu` is the format tag you're looking for.

printf("%lu", 5ul);

Problem

Possible Duplicate: How to printf “unsigned long” in C? I have my number like so... ``` int unsigned long number = 600851475143; ``` I am trying to print it with `printf()`. Every time I try, I get a warning by the compiler. I've tried `%uld`, `%ld` and Googling hasn't seemed to find me the answer. I'm learning C, but have not had to use a `long int` before, so I'm not sure what I should be using. What is the specifier I am chasing?

Original source

Related problems