函数功能:
比较两个字符串。设这两个字符串为str1,str2,若str1=str2,则返回零;若str1>str2,则返回1;若str1<str2,则返回-1。(也可以返回0,正数,负数)
注意点:
1、输入参数有效性判断
2、比较是基于ascii码的,所有要强制类型转换成unsigned char *类型。
int strcmp (const char * src,const char * dst)
{
int ret = 0 ;
assert(src != NULL);
assert(dst != NULL);
//由于比较是基于ascii码的,范围是0-255,要强制类型转换
while( ! (ret = *(unsigned char *)src - *(unsigned char *)dst) && *dst)
++src, ++dst;
if ( ret < 0 )
ret = -1 ;
else if ( ret > 0 )
ret = 1 ;
return ret;
}