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