Урок 4.2. Операции увеличения (уменьшения)
4.2. Операции увеличения (уменьшения) (increment - decrement)
Операция увеличения, обозначается ++ и применяется только к переменной и увеличивает ее значение на единицу. Операция уменьшения обозначается -- и применяется также к переменной, уменьшая ее значение на единицу.
Например: n++, n--, ++n, --n.
Операцию увеличения(уменьшения) можно использовать как префиксную, записав ее перед переменной, например, ++n, так и постфиксную, записав ее после переменной, например, n++. Разница между префиксной и постфиксной формой заключается в моменте изменения значения переменной. Префиксная форма обеспечивает изменение значения переменной до ее использования, а постфиксная после использования переменной.
Например, если переменная m имеет значение 5, а переменная n значение 6, то выражение m+(++n) будет иметь значение 12, а выражение m+(n++) будет иметь значение 11, и после того, как будет вычислено значение этого выражения, переменная n примет значение 7.
Пример:
m = 5; m = 5;
n =6; n =6;
y = m+(++n); y = m+(n++);
___________________________
После выполнения этих операторов:
y = 12 y = 11
n = 7 n = 7
Префиксные операции увеличения и уменьшения имеют более высокий приоритет, чем арифметические, а постфиксные - имеют самый низкий приоритет, и если при том же исходном значении m=5 мы запишем выражение m+++2, то компилятор рассматривает первые два плюса как постфиксную форму увеличения m. Значением выражения будет 7, а после вычисления выражения переменная m увеличится на единицу и станет равной 6.
Чаще всего операции увеличения и уменьшения используются для организации в программе каких-либо счетчиков или переадресации элементов массива и т.д.
Выражение (i+j)++ недопустимо, так как, подчеркиваем еще раз, операции увеличения (уменьшения) применяются только к имени переменной. Не рекомендуется использовать операции увеличения (уменьшения) к одной и той же переменной в сложных выражениях. Например, в выражении
sum+k+++k++/2
разобраться затруднительно не только компилятору, но и самому программисту.
Оставить комментарий