Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Операции инкремента и декремента



Операции ++ (инкремент) и – (декремент) вызывают соответственно увеличение или уменьшение операнда на единицу. Необычность операций ++ и ---- состоит в том, что их можно использовать как префиксные, так и как постфиксные. Различие в выполнении этих двух вариантов операций заключается в том, что при префиксной записи значение операнда меняется до того как он используется, а при постфиксной записи — после использования операнда. Например, пусть a=2. Тогда после x=a++; x примет значение 2, а после вычисления x=++a; x будет присвоено 3.

Операции инкремента и декремента можно применять только к переменным любого типа, но не к выражениям.

Рассматриваемые операции обозначаются двумя символами, между которыми не должно быть пробела. Это относится и к другим двухсимвольным обозначениям операций: >=, += и т.д.

Есть случай, когда префиксная и постфиксная записи дают один и тот же результат, а именно если выражение содержит единственную операцию.

То есть, две инструкции в программе, имеющие вид

a++; и ++а;

равносильны по действию.

В одном выражении не рекомедуется смешивать использование переменной с операциями инкремента и декремента и без них, так как это может привести к непредсказуемому результату. Например, при i=1 выполнение инструкции

printf("%d %d",i,++i);

приводит к печати вместо предполагаемых 1 и 2, значений 2 и 2, так

как вначале вычисляются все аргументы, и только затем производится печать

(стандарт языка здесь никаких ограничений не накладывает).

Остальные унарные операции (!, sizeof и приведения типа) будут

рассмотрены позже.





Дата публикования: 2014-12-25; Прочитано: 145 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.005 с)...