串的比较,该如何解决
串的比较
求串的比较函数算法,不使用strcmp函数调用,谢谢
------解决方案--------------------
求串的比较函数算法,不使用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个相等 }