Quote Originally Posted by robwhit View Post
The length modifier (the z) is optional, but AFAIK, the type specifier (u) is not. So it should be like this: printf("%zu", sizeof(size_t))

edit:

printf("%llu,%llu\n",a, b);

llu is the conversion specification for a long long unsigned int, not a uint64_t.
Yes, in a 32-bit architecture, uint64_t is probably unsigned long long, whilst in a 64-bit architecture, it may be unsigned long.

--
mats