Chinaunix首页 | 论坛 | 博客

OS

  • 博客访问: 2280392
  • 博文数量: 691
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 2660
  • 用 户 组: 普通用户
  • 注册时间: 2014-04-05 12:49
个人简介

不浮躁

文章分类

全部博文(691)

文章存档

2019年(1)

2017年(12)

2016年(99)

2015年(207)

2014年(372)

分类: C/C++

2014-12-09 21:48:33

原文地址:strcmp实现 作者:xutianxi

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。*/
}


阅读(1801) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~