下面的是一个大程序中的一个小程序  帮我分析一下 尽量详细 具体到每行就更好了

#include<stdio.h>
#include<io.h>
#include<string.h>
#include<stdlib.h>
#define L 5
#define H 20000
int hh;
int hjqs,hjqt;
int dsh;//倒数第几个数

void ftoi(char *lj,int sj[][L])
{
    FILE *fp;
    char tp[100],*p;
    int i,n;
    fp=fopen(lj,"r+");
    for(n=0;feof(fp)==0;n++)
    {
        tp[0]=0;
        fgets(tp,100,fp);
        if(strlen(tp)<2)break;
        p=&tp[strlen(tp)];
            for(i=1;(*p)!='\t';p--)
            {
                if((*p)>='0'&&(*p)<='9')
                {
                    sj[n][L-i]=(*p)-'0';
                    i++;
                }
            }
    }
    fclose(fp);
    hh=n;
}