Salve a tutti,
come da oggetto sto cercando di scrivere una funzione che crea una lista con “n” elementi della serie di Fibonacci. Non riesco a capire dove sbaglio... Grazie a chi mi vorrà aiutare.

codice:
typedef struct numeriDiFibonacci
	{
	int num;
	struct numeriDiFibonacci *suc;
	} Nf;

Nf * creaListaFib(int n)
{
if (n == 0)	return(NULL);
Nf *testa, *prima, *seconda, *ennesima;
prima = (Nf *)malloc(sizeof(Nf));
prima->num = 1;
prima->suc = NULL;
testa = prima;
if (n == 1)	return(testa);
seconda = (Nf *)malloc(sizeof(Nf));
seconda->num = 1;
seconda->suc = NULL;
prima->suc = seconda;
if (n == 2)	return(testa);
int i;
for (i=3; i<=n; i++)
	{
	ennesima = (Nf *)malloc(sizeof(Nf));
	ennesima->num = prima->num + seconda->num;
	ennesima->suc = NULL;
	seconda->suc = ennesima;
	prima = prima->suc;
	seconda = seconda->suc;
	}
}