c语言库函数【string.h】strcmp_(const char * str1,const char * str2)
代码如下:
#include<assert.h>
#include<stdio.h>
int strcmp_(const char * str1,const char * str2)
{
if(str1==NULL || str2==NULL)
return 0;
int ret=0;
//转化为unsigned char 是为了防止溢出
//例如(char)0x7f-(char)0x80=255, (unsigned char)0x7f-(unsigned char)0x80=-1
while( ! (ret = *(unsigned char *)str1- *(unsigned char *)str2) && * str1 )
{
str1++;//++str1;
str2++;//++str2;
}
if( ret<0)
ret=-1;
else if(ret>0)
ret=1;
return ret;
}