title: ANSI C (ISO C90): Can scanf read/accept an unsigned char?
body: <p>Simple question: Can scanf read/accept a "small integer" into an unsigned char in ANSI C?</p>
  
  <p>example code un_char.c:  </p>
  
  <pre><code>#include &lt;stdio.h&gt;
  #include &lt;stdlib.h&gt;
  
  int main(void)
  {
      unsigned char character;
  
      scanf("%hhu", &amp;character);
  
      return EXIT_SUCCESS;
  }
  </code></pre>
  
  <p>Compiled as:</p>
  
  <pre><code>$ gcc -Wall -ansi -pedantic -o un_char un_char.c
  un_char.c: In function ‘main’:
  un_char.c:8: warning: ISO C90 does not support the ‘hh’ gnu_scanf length modifier
  </code></pre>
  
  <p><code>hh</code> isn't supported by ISO C90.  So what scanf conversion can be used in this situation?</p>