codice:
#include <stdio.h>
#include <stdlib.h>
void scambiare(int, int, int); // qua ti eri dimenticato il punto e virgola
int main()
{
int a=1,b=2,*c;
c=&a;
printf("%d",*c);
scambiare(a,b,c);
printf("%d%",*c);
system("PAUSE");
return 0;
}
// se passi questi parametri alla funzione, stai copiando i valori originari in altre variabili
// quindi cambia l'indirizzo
void scambiare(int a,int b,int c)
{
if(c==&a)
c=&b;
else
c=&a;
}
ti consiglio di andare a vedere bene le differenze tra passaggio per valore o per riferimento
Comunque il codice corretto della funzione sarebbe
codice:
// qua devi passare i parametri per riferimento
void scambiare(int &a,int &b,int *&c)
{
if(c==&a)
c=&b;
else
c=&a;
}
Ciao