title: What is the absolute scope of a for loop with no brackets?
body: <p>I have a program that uses for loops to check conditional statements and run tests on sets of data, and most of these are one liner <code>if</code> statements that could possibly branch off. My question is how does a for loop with brackets decide what is in and out of scope? For example:</p>
  
  <p>A for loop in my program:</p>
  
  <pre><code>for( i =0; i &lt; (sizeof(exact_roots) / sizeof(bn_comlplex)); i++){
          if(fabs(roots[k].re - exact_roots[i].re) &lt; 0.00001 &amp;&amp; fabs(roots[i].im - exact_roots[i].im) &lt; 0.00001)
              rootmatch++;
  }
  </code></pre>
  
  <p>are brackets needed in this case? Would the for loop treat the third line as apart of the for loop or discard it and give me a compile error?</p>
  
  <p>what about an extreme case of a for loop with no brackets, how does the loop handle it?</p>
  
  <pre><code>for(i = 0; i &lt; num; i++)
      if(something)
          ....
      else //is this still considered apart of the loop?
          ....
  </code></pre>