“if” block without curly braces makes subsequent “else if” nested
AFAIK, if an "if" block is not provided the curly braces then only 1 statement is considered inside it. e.g. if(..) statement_1; statement_2; Irrespective of tabs, only statement_1 is considered inside the if block. Following code doesn't get along with that: int main () { if(false) // outer - if if(false) // nested - if cout << "false false\n"; else if(true) cout << "true\n"; } Above code doesn't print anything. It should have printed "true" . It appears as of the else if is automatically nested inside the outer if block. g++ -Wall issues warning, but that is not the question here. Once you