title: Is the %zu specifier required for printf?
body: <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>