int str1length = strlen(str1)
int str2length = strlen(str2)
如果不一样,就不用比了
if(str1 != str2) return 不相匹配
如果相等
int i = 0
while( i <唯游碧 str1length)
{
if(str1[i] != str2[i])
{
return 不相匹配
}
i++
}
else
return 相等
说strcmp不能用,strlen总可以用吧?#include <iostream>
#include <string.h>
using namespace std
int myCmp( const char* lhs,const char* rhs )
{
typedef unsigned int uint
uint lhs_size = strlen(lhs)
uint rhs_size = strlen(rhs)
uint size = lhs_size <rhs_size?lhs_size:rhs_size
for( uint i=0i<size++i )
{
if( *(lhs+i) <*(rhs+i) )
return -1
else if( *(lhs+i) >*(rhs+i ) )
return 1
}
if( lhs_size <rhs_size )
return -1
else if( lhs_size >rhs_size )
return 1
return 0
}
int main()
{
char *p1 = "abc"卖罩告
char *p2 = "ab"
char *p3 = "ab"
char *p4 = "bcd"
cout<闷耐<myCmp(p1,p2)
cout<<strcmp(p1,p2)
cout<<endl
cout<<myCmp(p2,p3)<<strcmp(p2,p3)<<endl
cout<<中明myCmp(p1,p4)<<strcmp(p1,p4)<<endl
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)