串的比较,该如何解决

串的比较
求串的比较函数算法,不使用strcmp函数调用,谢谢

------解决方案--------------------
C/C++ code
int strcmp (char *p1,char *p2)
{
    for (;*p1!='\0';p1++,p2++)//不考虑哪个长,都设p1不是结束标记就循环
    {
        if (*p2!='\0')//判断p2是不是结束标记
        {
        if (*p1>*p2) return 1;//大于就返回1 函数结束
        if (*p1<*p2) return -1;//小于就返回-1 函数结束
        if (*p1==*p2) return 0;//等于就返回0 函数结束
        }
        else return 1;//如果p2在p1尚未是结束标志前已经是结束标志,肯定p2比p1短返回1 结束函数
    }
    if (*p2!='\0')//如果p1因到了结束标志而跳出循环,就判断p2是不是也是结束标记呢?
        return -1;//不是就证明p2比p1长 返回-1结束函数
     else retrun 0;//是  说明2个相等
    }