The `PRIuMAX` macro in particular is not necessary.  It expands to a format usable for `uintmax_t`, but you can also use `&quot;%ju&quot;`. Both were introduced in ISO C99.<p>(Unless your `printf` implementation doesn&#x27;t recognize `&quot;%ju&quot;`, and the `PRIuMAX` macro and friends are defined in some non-standard system-specific manner.)