Is the %zu specifier required for printf?
<p>We are using C89 on an embedded platform. I attempted to print out a <code>size_t</code>, but it did not work:  </p>

<pre><code>#include &lt;stdio.h&gt;
int main(void) {
    size_t n = 123;
    printf("%zu\n",n);
    return 0;
}
</code></pre>

<p>Instead of <code>123</code>, I got <code>zu</code>.<br>
Other specifiers work correctly.  </p>

<p>If <code>size_t</code> exists shouldn't  <code>zu</code> also be available in <code>printf</code>?<br>
Is this something I should contact my library vendor about, or is a library implementation allowed to exclude it?</p>