Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Операции ++ (инкремент) и – (декремент) вызывают соответственно увеличение или уменьшение операнда на единицу. Необычность операций ++ и ---- состоит в том, что их можно использовать как префиксные, так и как постфиксные. Различие в выполнении этих двух вариантов операций заключается в том, что при префиксной записи значение операнда меняется до того как он используется, а при постфиксной записи — после использования операнда. Например, пусть 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 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!