Salve,
vi riporto il seguente codice:
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è?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; } }
Grazie in anticipo![]()

Rispondi quotando