title: variable declaration within the while loop C/C++
body: <p>according to me following while loop should be infinite but it runs only thrice</p>
  
  <pre><code>   main()
     {
     int i=3;       
     while(i--)
      {
        int i=100;
        i--;
        printf("%d..",i);
      }
     }
  </code></pre>
  
  <p>it outputs <code>99..99..99</code></p>
  
  <p>but according to me it should run infinite times as every time control enters while loop it gets value 100.so it will never reach zero.
  just to experiment i replaced <code>int i=100;</code> with  <code>i=100;</code> in side the while loop and now it runs infinite times..WHY???</p>