Originally Posted by
laserlight
I called you out on not suggesting %zu because you suggested %llu: if you were really thinking about those, then unsigned long long and %llu would be a strange suggestion, e.g., on older Windows you might have to use %I64u. Then there's the thing about some extant systems still being 32 bit. Honestly, I'm inclined to say that if you need to worry about legacy systems, don't worry about being portable: cater to the legacy systems as needed, e.g., through conditional compilation.
Nope. <stdint.h> was introduced in C99: if you want to be so portable that %zu is a concern, then you cannot #include <stdint.h>