Dopo l’esecuzione della seguente porzione di codice:
#includevoid funzione(int *a, int b) { int temp=*a; *a=b; b=temp; } main() { int a=2; int b=5; funzione(&a, b); } Quanto valgono a e b?
Soluzione: a=5, b=5.
La funzione funzione() assomiglia a una tradizionale funzione scambia() tranne per il passaggio dei parametri misto.
Nel main()
- a=2
- b=5
In funzione()
- temp=(a)=2
- (a)=b=5
- b=temp=2
Nel main(), dopo la chiamata
- (a)=5
- b=5