Guarda che scrivere
*a += 2;
e
*x - 1
e' molto differente ...
La prima riga equivale a
*a = *a + 2;
e significa che il risultato della parte a destra dell'uguale sara' assegnato alla variabile puntata e scritta a sinistra. Quindi il valore della variabile puntata, effettivamente, cambia.
Nella riga
*x - 1
invece, non c'e' il simbolo = e quindi il risultato dell'operazione NON sarà conservato nella variabile ma semplicemente restituito al chiamante.

Rispondi quotando