OPERATORI DI INCREMENTO-DECREMENTO
Il linguaggio C offre degli operatori per esprimere molto semplicemente
l'incremento ed il decremento di una variabile, precisamente:
| prefissi | postfissi |
incremento | ++IDENTIFIER | IDENTIFIER++ |
decremento | --IDENTIFIER | IDENTIFIER-- |
Questi costrutti sono essenzialmente due abbreviazioni corrispondenti rispettivamente a
IDENTIFIER = IDENTIFIER + 1 ed a
IDENTIFIER = IDENTIFIER - 1.
La differenza tra quelli prefissi e quelli postfissi riguarda solo quando
questi costrutti vengono considerati come espressioni (si ricordi che in C
le assegnazioni sono anche delle espressioni): nei prefissi il valore di tale
espressione è quello della variabile dopo aver effettuato
l'incremento, in quelli
postfissi, invece, è quello prima di effettuare l'incremento.
Il seguente programma
#include <stdio.h>
main(){
int A = 2, B = 2 ;
A ++; A --; B ++; B --;
printf("A = %d, B = %d .\n",A,B);
if(A++ == ++B) printf("prefissi e postfissi sono uguali\n");
else printf("prefissi e postfissi sono diversi\n");
}
produrrà l'output
A = 2, B = 2 .
prefissi e postfissi sono diversi
ESERCIZIO
- Modificare i programmi visti precedentemente utilizzando, quando
possibile, gli operatori di incremento/decremento.