Я знаю, что точка с запятой требуется после оператора (я говорю о Java, C ++ и подобных языках), но не требуется после скрученной скобки. Почему так?
if (a > b)
printf("hello!"); // semicolon is mandatory
if (a > b) {
printf("hello!");
} // semicolon is not required
В чем причина? Я имею в виду, какова теория, лежащая в основе этого?