Salve,
vi riporto il seguente codice:
codice:
void cancella(struct elemento *p,int n) {
struct elemento *paus;
printf("\n\n\t\tEliminazione occorrenze del \"%d\"....\n",n);
paus = p;
while(p!=NULL) {
if(p->inf==n) {
paus->pun = p->pun;
free(p);
p = (struct elemento*)malloc(sizeof(struct elemento));
p = paus;
}
paus = p;
p = p->pun;
}
}
Questa routine funziona, eleminia tutit gli elementi corrispondenti a n, ma se è il primo elemento a corrispondere a n, non lo cancella ma gli assegna il valore di 0. Perchè?
Grazie in anticipo