title: scanf("%d", &i) won't read numbers with more than 10 digits
body: <p>I am trying to read in an integer of arbitrary size using the <code>%d</code> format modifier for <code>scanf()</code>. When the input integer has 10 or fewer digits, this action performs as expected. But, when I try to input a number with 11 or more digits, <code>scanf("%d", &amp;number)</code> behaves strangely. It seems to return negative values. For example, when <code>12345678901</code> is read, the value assigned too <code>number</code> is <code>-539222987</code>.</p>
  
  <p>Does anyone have an idea as to why this might be? Maybe there's a limit to the size of an integer read by <code>scanf("%d", &amp;i)</code>?</p>
  
  <p>Thanks!</p>