title: Format specifies type 'int' but the argument has type 'unsigned long' error when printing sizes
body: <p>Here's my code that I keep getting this error on.</p>
  
  <pre><code>format specifies type 'int' but the argument has type 'unsigned long'
  </code></pre>
  
  <p>I copied the code from the lecture so I don't know what's wrong. Any help appreciated!</p>
  
  <pre><code>#include &lt;stdio.h&gt;
  
  int main(void)
  {
      char c;
      double d;
      float f;
      int i;
  
      printf("char: %i\n", sizeof(c));
      printf("double: %i\n", sizeof(d));
      printf("float: %i\n", sizeof(f));
      printf("int: %i\n", sizeof(i));
  }
  </code></pre>