ВУЗ:
Составители:
Рубрика:
20
3.7. Операции автоувеличения и автоуменьшения ++ и – –
Эти операции являются унарными операциями присваивания. Они
соответственно увеличивают или уменьшают значение операнда на 1.
Операнд должен быть целого или плавающего типа (или типа указатель)
и быть не константным адресным выражением (т.е. без слова const в
описании). Тип результата соответствует типу операнда.
Префиксная форма операций:
++ операнд – – операнд
Постфиксная форма:
операнд ++ операнд – –.
Если знак операции стоит перед операндом, результатом опера-
ции является увеличенное или уменьшенное значение операнда. При
этом результат является адресным выражением (l-value).
Если знак операции стоит после операнда, значением выражения
будет значение операнда. После использования этого результата зна-
чение операнда увеличивается или уменьшается. Результат постфикс-
ной формы этих операций не является l-value.
Примеры:
int i=0, j=0, k, l;
k = ++i; // Здесь k=1 и i стало рано 1;
l= j ++; // l=0 , а j стало равно 1;
– – k; // k=0;
+ + j; // j стало равно 2.
Иначе говоря, результат выполнения
k = ++i; тот же, что и в последовательности операторов
i = i+1; k = i;
А результат
k = i++; такой же, как и в
k = i; i = i+1;
3.8. Тернарная или условная операция
Тернарная операция, т.е. операция с тремя операндами, имеет
форму
операнд1 ? операнд2 : операнд3
Страницы
- « первая
- ‹ предыдущая
- …
- 16
- 17
- 18
- 19
- 20
- …
- следующая ›
- последняя »