title: for (unsigned char i = 0; i<=0xff; i++) produces infinite loop
body: <p>Why does the following c code end up in an infinite loop?</p>
  
  <pre><code>for(unsigned char i = 0; i &lt;= 0xff; i++){}
  </code></pre>
  
  <p>It is the same result with:</p>
  
  <pre><code>for(unsigned char i = 0; i &lt;= 0xff; ++i){}
  </code></pre>
  
  <p>In which way do I have to modify the code, to get it working as expected (without using <code>int</code> or <code>unsigned int</code> datatype)?</p>