Hej
Pisze program, którego zadaniem jest wczytywanie napisów do tablicy dynamicznej, a następnie wyświetlenie ich. Niestety, wyświetlanie napisów nie działa, ponieważ poprawnie wyświetla się tylko pierwszy napis, a dalsze to są już krzaczki. Czy może ktoś wskazać gdzie jest błąd? Program nie może korzystać z indeksów, a jedynie z inkrementacji wskaźników.
Pozdrawiam!
#include <stdio.h>
struct Rekord
{
char Imie[128];
};
main()
{
int i = 0;
int ileRekordow = 0;
char wczytane[128];
struct Rekord * baza = (struct Rekord*)malloc(sizeof(struct Rekord));
struct Rekord * ptr = baza;
while (1)
{
scanf("%s", wczytane);
if (strcmp(wczytane, "0") == 0)
break;
ileRekordow++;
baza = (struct Rekord*)realloc(baza, ileRekordow * sizeof(struct Rekord));
strcpy(ptr->Imie, wczytane);
ptr++;
}
ptr = baza;
for (; i < ileRekordow; i++, ptr++)
{
printf("%s", ptr->Imie);
}
system("Pause");
}