scusami se rispondo ora..il problema é che non ho ben capito !!Secondo quello che so dovrebbe essere così :
*b=*c; b contiene il valore 3
b=&a; b, avendo l'indirizzo di a, contiene il v. 1
*c=*b; c contiene il valore 1
a=*c; a contiene il valore 1
return a; restituisce 1


Com'é che col printf esce fuori che b vale 3??
Grazie ancora