The format specifier is incorrect it should be %llu
and the type for number
should be unsigned long long
:
#include<stdio.h>
int main()
{
unsigned long long number = 123654123654123LL;
printf("%llu\n", number);
return 0;
}
Output:
123654123654123
See http://ideone.com/i7pLX.
The format specifier %ull
is actually %u
followed by two l
(ell) characters.
From the section 5.2.4.2.1 Sizes of integer types <limits.h> of the C99 standard the maximum values for long long
and unsigned long long
are guaranteed to be at least:
LLONG_MAX +9223372036854775807 // 263 − 1
ULLONG_MAX 18446744073709551615 // 264 − 1
so 123654123654123
is comfortably within range.