perchè la variabile i deve essere inizializzata a 1 e non a zero?
codice:
char* get_string(FILE *fp,char*ptr)
{
    ptr=(char*)malloc(sizeof(char));
    int i=1;//non va bene a 0?
    char ci;
    fflush(stdin);
    while(ci!=10)
    {
        ci=fgetc(fp);
        if(ci!=10)
          ptr[i-1]=ci;
        else
          ptr[i-1]='\0';
        ptr=(char*)realloc(ptr,(i+1)*sizeof(char));
        i++;
    }
    fflush(stdin);
    return ptr;
}