Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
П у с т о й о п е р а т о р
В Си-программе точка с запятой является заключающим символом оператора. Поэтому если в программе поставить подряд две точки с запятой, то будет считаться, что между ними находится пустой оператор. Тот же эффект мы будем иметь: - если после знака “}” в блоке или составном операторепоставить точку с запятой; - если установить точку с запятой непосредственно после слова else или после выражения в операторе if и др. Пустой оператор не выполняет никаких действий, но может иметь метку. Эта метка может быть использована, например, для перехода с помощью оператора goto на конец составного оператора или блока. Пустой оператор может появиться в программе случайно, вопреки желанию программиста. В приведенном фрагменте б) после выражения в операторе if случайно была поставлена точка с запятой. Компилятор не определяет это как ошибку, но логика работы программы изменяется существенно. В фрагменте а) определяется модуль значения x, а в б) - значение x меняет свой знак. Надо внимательно следить за расстановкой точек с запятыми, потому что такие ошибки трудно определять.
if (x < 0) if (x < 0); x = - x; x = -x; y = x; y = x;
да нет да нет
(пустой оператор)
а) б) В приведенном ниже фрагменте программы 4 пустых оператора. int main() { double x, y, z; x = -15.3;; if (x); if (x> 0) { y = x * x - 1; m1: z = x + y; }; m2:; }
|