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