 <p>With <code>printf</code>, the <code>%i</code> format outputs a <code>signed int</code>. Use <code>%u</code> to output an <code>unsigned int</code>. This is a common issue when beginning C programming. To address your question, the result of <code>v1 - v2</code> is -10, but <code>sum</code> is an <code>unsigned int</code>, so the real answer is probably something like 4294967286 (2<sup>32</sup> - 10). See what you get when you use <code>The subtraction of %i from %i is %u \n</code>. :)</p>