title: '%d' expects argument of type 'int', but argument 2 has type 'long unsigned int' [-Wformat=]
body: <p>I keep getting compile warnings but I don't know how to fix it:</p>
  
  <pre><code>'%d' expects argument of type 'int', but argument 2 has type 'long unsigned int' [
  </code></pre>
  
  <p>The program runs fine but I still get the compile warnings:</p>
  
  <pre><code>/* Sizeof.c--Program to tell byte size of the C variable */
  #include &lt;stdio.h&gt;
  
  int main(void) {
      printf("\nA Char is %d bytes", sizeof( char ));
      printf("\nAn int is %d bytes", sizeof( int ));
      printf("\nA short is %d bytes", sizeof( short ));
      printf("\nA long is %d bytes", sizeof( long ));
      printf("\nA long long is %d bytes\n", sizeof( long long ));
      printf("\nAn unsigned Char is %d bytes", sizeof( unsigned char ));
      printf("\nAn unsigned int is %d bytes", sizeof( unsigned int));
      printf("\nAn unsigned short is %d bytes", sizeof( unsigned short ));
      printf("\nAn unsigned long is %d bytes", sizeof( unsigned long ));
      printf("\nAn unsigned long long is %d bytes\n",
              sizeof( unsigned long long ));
      printf("\nfloat is %d bytes", sizeof( float ));
      printf("\nA double is %d bytes\n", sizeof( double ));
      printf("\nA long double is %d bytes\n", sizeof( long double ));
  
      return 0;
  
  }
  </code></pre>