c语言,书上有个例子的自定义函数部分不懂,求解答

img

img

//找到字串A在B中起始位置,有哪里不懂
int match(char *B,char*A)
{
    int i,j,start=0;
    int lastB=strlen(B)-1;
    int lastA=strlen(A)-1;
    int endmatch=lastA;
    for(j=0;endmatch<=lastB;endmatch++,start++)
    {
        if(B[endmatch]==A[lastA])
            for(j=0,i=start;j<lastA&&B[i]==A[j];)
                i++,j++;
            if(j ==lastA)
                return (start+1);
    }
    if(endmatch>lastB)
    {
        printf("");
        return -1;
    }
}