Tu scrivi


  • int x=4;
  • a=&x;
  • b=&x;


assegnando ad a e b il puntatore ad una variabile locale che sarà distrutta al termine della funzione, invalidando tali puntatori.

Non so cosa tu voglia fare, ma così è sicuramente sbagliato