Witam
mam pytanie odnośnie tablic i wskaźników w języku C. W książce "Język ANSI C" przedstawiono przykład funkcji getline(), która wczytuje kolejne wiersze z wejścia i umieszcza je w tablicy. Cała funkcja została utworzona z wykorzystaniem operacji na tablicach. Jej treśc wyglada następująco (przepisuję z pamięci więc są inne nazwy zmiennych ale generalnie idea jest taka by dane wprowadzac do tablicy):
int getline(int Tablica, int MAXLINE)
{
int i;
for(i=0;i<MAXLINE-1&&(c=getchar())!='\n';i++)
Tablica[i]=c;
if(c=='\n')
{
Tablica[i]=c;
i++;
}
Tablica[i]='\0';
return i;
Chciałem napisac sobie taką funkcję z wykorzystaniem wskaźników i stworzyłem taki kod
#include <stdio.h>
#define MAXLINE 10
int getline(char* tekst);
int main()
{
char *TablicaWskaznikowDoTekstow[10]; //Tablica 10 wskaźników do napisów które chcę wprowadzic z klawiatury za pomocą funkcji getline
int i;
for(i=0;i<10;i++)
{
getline(TablicaWskaznikowDoTekstow[i]);
}
for(i=0;i<10;i++)
{
printf("%s\n",TablicaWskaznikowDoTekstow[i]);
}
getch();
return 0;
}
int getline(char* tekst)
{
int i;
int c;
for(i=0;(c=getchar()!='\n')&&(i<MAXLINE-1);i++)
{
*tekst=c;
tekst++;
}
if(c=='\n')
{
*tekst=c;
tekst++;
i++;
}
*tekst='\0';
return i;
}
Czy mógłbym prosic o wskazanie gdzie jest błąd i wyjaśnienie tego błędu.