title: error: unknown conversion type character 'l' in format - scanning long long
body: <p>I'm trying to get <code>long long</code> from the console using standard IO function <code>scanf</code>. I started with <code>%lld</code>:</p>
  
  <pre><code>scanf("%lld", &amp;rule);
  </code></pre>
  
  <p>That throws:</p>
  
  <pre><code>error: unknown conversion type character 'l' in format [-Werror=format=]
  </code></pre>
  
  <p>I've found <a href="https://stackoverflow.com/a/6400404/607407">more workarounds</a>, but they too throw errors:</p>
  
  <pre><code> scanf("%I64d", &amp;rule);
     -&gt;error: ISO C does not support the 'I64' ms_scanf length modifier [-Werror=format=]
   scanf("%"SCNd64"", &amp;rule);
     -&gt;error: expected ')' before 'SCNd64'
  </code></pre>
  
  <p>Am I doing something wrong? Is there an another trick?</p>
  
  <p>I'm compiling on very recent version of MinGw GCC with these flags: <code>-pedantic -Wall -Werror -std=c99 -g -D HOME=1</code></p>