[i]#include <stdio.h>
#define MAX_LENGHT 255
#define MAX 300
typedef struct
{
int codice;
char nome[MAX_LENGHT];
}medicinale;

void main (void)
{
int i, N;
medicinale farmacia[MAX];

do
{
printf ("Quanti medicinali vuoi inserire\?\n");
scanf ("%d", &N);
}
while (N>MAX);


for (i=0; i<N; i++)
{
printf ("Codice:\n");
scanf ("%d", &farmacia[i].codice);

printf ("Nome:\n");
fgets (farmacia.nome, MAX_LENGHT, stdin);
}
}


Ed ora perché dopo che ho inserito il “codice” non funziona più niente e invece se uso scanf invece di fgets funziona? Cosa sto sbagliando nel’utilizzare fgets?