codice:if(ptemp==NULL){ p=ptemp;
Questo è inutile ,probabilmente una distrazione , prova
codice:if(p==NULL){p=ptemp;
in questo modo , se passi un puntatore nullo , assegna a p il nodo creato ,Probabilmente ti da errore proprio perchè passi un puntatore NULL su cui la funzione prova a fare p->next.
come nel messaggio precedente , devi mettere un return p , nella funzione
e il main , sarà p=inserimento_coda( elemento , val)