il programma funziona correttamente ma sbaglio l'interpretazionecodice:#include <stdio.h> void scambia(int **x, int **y); int main() { int a=5, b=10; int *p, *q; p = &a; q = &b; printf("a:%d b:%d \n", *p, *q); scambia(&p,&q); printf("a:%d b:%d \n", *p, *q); getch(); return 0; } void scambia(int **x, int **y){ int *temp; temp = *x; *x = *y; *y = temp; }
mi spiegate perchè è sbagliato il mio ragionamento?
nella funzione scambia x e p sono puntatori a puntatori di interi
rispettivamente x punta il puntatore p e y punta il puntatore q
se io scambio i valori di questi ultimi puntatori(x e y) come viene fatto
nel programma...non dovrei scambiare fra loro i puntatori a puntatori?
perchè di fatto scambio i puntatori a interi?