Gli operatori di incremento e decremento
A cosa servono?
Nel linguaggio C gli operatori di incremento (++) e decremento (--) sono molto utili, in quanto permettono di aumentare ( o ridurre ) di un'unità il valore delle variabili.
Quali sono?
Nel linguaggio C esistono i seguenti operatori di incremento/decremento:
L'operatore di incremento ( ++ )
L'operatore ++ aggiunge un'unità al valore già memorizzato nella variabile a.
a++
La forma a++ è equivalente all'istruzione a=a+1 ma è più semplice da scrivere.
Si scrive a++ o ++a?
Nelle istruzioni semplici è indifferente scrivere a++ o ++a, in entrambi i casi viene aggiunta un'unità alla variabile.
++a
Tuttavia, la presenza del simbolo ++ prima o dopo il nome della variabile influisce sull'ordine di esecuzione dell'operazione.
Esempio
b=2;
a=b++;
Ad esempio, nell'esempio precedente alla variabile B viene assegnato il valore iniziale di A, ossia 2, e dopo viene incrementata la variabile B. Al termine dell'esecuzione A è uguale a 2 mentre B è uguale a 3.
Utilizzando l'incremento ++b abbiamo un risultato differente.
Esempio
b=2;
a=++b;
In questo caso, prima è incrementato (++) il valore della variabile B e dopo viene assegnato alla variabile A il valore della variabile B. Al termine dell'esecuzione sia A che B sono uguali a 3.
L'operatore di decremento ( -- )
L'operatore -- riduce di un'unità al valore della variabile a. La forma a-- equivale all'istruzione a=a-1.
a--
Per l'operatore di decremento -- valgono le stesse considerazioni fatte per l'operatore di incremento ++.
--a
E' indifferente scrivere a-- o --a. Tuttavia, nelle operazioni composte l'ordine di presentazione del simbolo -- diventa importante.
Esempio
b=2;
a=--b;
c=b--;
Se il simbolo -- anticipa la variabile ( --b ), il decremento viene eseguito prima delle altre operazioni ( a=1 ). Viceversa, se il simbolo -- segue la variabile ( b-- ), il decremento viene eseguito dopo le altre operazioni ( c=2 ).