Napisałem taki oto program.
#include <stdio.h>
#include <stdlib.h>
struct autor {
char imie[90];
char nazwisko[90];
float wiek;
}osoba;
int main()
{
struct autor osoba[90];
int i,licznik =0;
int index=3;
for(i=0;i<index;i++)
{
printf("podaj imie autora.\n");
gets(osoba[i].imie);
printf("podaj nazwisko\n");
gets(osoba[i].nazwisko);
printf("podaj wiek\n");
scanf("%f",&osoba[i].wiek);
}
for(i=0;i<index;i++)
{
printf("Imie: %s Nazwisko %s wiek %f\n",osoba[i].imie,osoba[i].nazwisko,osoba[i].wiek);
}
}
Po pierwszym przejściu pętli wszystko jest ok.
Niestety za drugim razem pomija "imię autora".
Pozostawia puste pole i przechodzi do "nazwiska".
Może mi ktoś wytłumaczyć dlaczego tak się dzieje ?