Strange behavior of multi-line code block in the if clause without parentheses
<p>When I compile the following code snippet and run it, I expect it to print statement at line no. 12 too. But that doesn't happen? Why is that so? How does compiler handles a comment in if block?</p>

<pre><code>  1 #include &lt;iostream&gt;
  2 using namespace std;
  3
  4 int main() {
  5     int a;
  6     if (false)
  7         cout &lt;&lt; "This will not be printed." &lt;&lt; endl;
  8         cout &lt;&lt; "This will be printed anyway." &lt;&lt; endl;
  9
 10     if (false)
 11         // comment
 12         cout &lt;&lt; "This should also be printed. But not. Why?" &lt;&lt; endl;
 13         a = 100;
 14
 15     cout &lt;&lt; "a = " &lt;&lt; a &lt;&lt; endl;
 16 }
</code></pre>

<p>produces:</p>

<pre><code>hyper150:~ 1041$ g++ what_if.cpp
hyper150:~ 1042$ ./a.out
This will be printed anyway.
a = 100
</code></pre>
