i++ restituisce il valore di i e incrementa i di uno;
codice:
printf("%d",i++);
corrisponde a
codice:
printf("%d",i);
i+=1 //o, se preferisci, i=i+1.
++i incrementa i di uno e restituisce il valore di i;
codice:
printf("%d",++i);
corrisponde a
codice:
i+=1; //o, se preferisci, i=i+1.
printf("%d",i);
.
Quanto all'operatore "?", esso funziona in maniera simile alla formula "SE" di Excel: se l'espressione che precede "?" è vera allora restituisce l'espressione che segue ?, altrimenti restituisce l'espressione che segue i due punti.
codice:
int i;
printf("%d",i?1:2); //Visualizza 2
i=1;
printf("%d",i?1:2); //Visualizza 1
E ora, per vedere se hai capito:
codice:
int i;
printf("%d",i++?1:2);
Cosa visualizzerà?