title: Compiler warning when using `%*s` with `printf`
body: <p>When I compile the following:</p>
  
  <pre><code>printf("%*s",lengths[i],row[i]);
  </code></pre>
  
  <p>I get this warning:</p>
  
  <pre><code>4.0.c:407: warning: field width should have type ‘int’, but argument 2 has type 
  ‘long  unsigned int’
  </code></pre>
  
  <p>lengths is declared as: <code>unsigned long *lengths;</code>.</p>
  
  <p>I tried to solve the problem but to no avail.
  Adding this,</p>
  
  <pre><code>printf("%*lu",(unsigned long)lengths[i],row[i]);
  </code></pre>
  
  <p>I get no more warnings but the code doesn't work as it should.</p>
  
  <p>Thank you Vera</p>