/* Scambio dei valori di due variabili mediante funzione --- uso dei puntatori */ #include void BadSwap(int,int); void GoodSwap(int *, int *); main(){ int i=2,k=10; printf("Prima dello scambio cattivo i=%d e k=%d\n\n",i,k); printf("Gli indirizzi di i e k sono %p e %p \n\n",&i,&k); BadSwap(i,k); printf("Dopo lo scambio cattivo i=%d e k=%d\n\n",i,k); printf("\n################################################\n"); printf("Prima dello scambio buono i=%d e k=%d\n\n",i,k); GoodSwap(&i,&k); printf("Dopo lo scambio buono i=%d e k=%d\n\n",i,k); } void BadSwap(int i,int k){ int temp; printf("Gli indirizzi di i e k nella funzione sono %p e %p \n\n",&i,&k); temp=i; i=k; k=temp; printf("In Swap i=%d e k=%d\n\n",i,k); } void GoodSwap(int *i,int *k){ int temp; temp=*i; *i=*k; *k=temp; printf("In Swap i=%d e k=%d\n\n",*i,*k); }