if (a < b) // Здесь транслятор обнаружит ошибку
// в выражении, которое с его точки
// зрения еще не закончилось
else // В этой части программы транслятор может
// обнаружить "наведенную "ошибку
// Эту часть программы транслятор пропустит
Конечно, здесь много зависит от особенностей транслятора, но чтобы не проверять его на " сообразительность" , лучше приучить себя вовремя ставить этот ограничитель.
Примечание: в Паскале символ " ;" называется разделителем - он разделяет два оператора в простой последовательности. Эта тонкость в терминологии приводит к тому, что программы на Паскале и Си с точки зрения расстановки этого символа существенно различаются.