#include //scambia void scambia(int a,int b) { int t; printf("\tF %d %d\n",a,b); t=a; a=b; b=t; printf("\tF %d %d\n",a,b); } void scambia1(int* a, int* b) { int t; printf("\tF %d %d\n",*a,*b); t = *a; *a = *b; *b = t; printf("\tF %d %d\n",*a,*b); } void scambia2(int* a, int* b) { int t; printf("\tF %p %p\n",a,b); t = *a; *a = *b; *b = t; printf("\tF %p %p\n",a,b); } //main int main(void) { //variabili int a; int b; //esecuzione a=3; b=7; printf("M: %d %d\n",a,b); scambia(a,b); printf("M: %d %d\n",a,b); scambia1(&a,&b); printf("M: %d %d\n",a,b); printf("M: %p %p\n",&a,&b); scambia2(&a,&b); printf("M: %p %p\n",&a,&b); printf("M: %d %d\n",a,b); //fine return 0; }