不浮躁
分类: C/C++
2014-12-09 21:48:33
int __cdecl strcmp(const char *src,const char *dst)
{
int ret=0;
while(!(ret=*(unsigned char *)src-*(unsigned char *)dst) && *dst)
++src,++dst;
if(ret<0)
ret=-1;
else if(ret>0)
ret=1;
return ret;
}
函数原型:int strcmp(const char *dest, const char *source) ;
返回值:返回整数值,如果dest > source,则返回值大于0,如果dest = source,则返回值等于0,如果dest < source ,则返回值小于0。字符大小是按照字符的字典序列进行排列的。
参数说明:都是以''\0''为结束符的字符串
实现;
int strcmp(const char *dest, const char *source)
{
assert((NULL != dest) && (NULL != source));
while ((*dest == *source)&&(*dest != NULL))
{
dest ++;
source ++;
}
return *dest - *source;
/*如果dest > source,则返回值大于0,如果dest = source,则返回值等于0,如果dest < source ,则返回值小于0。*/
}