Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1408345
  • 博文数量: 143
  • 博客积分: 10005
  • 博客等级: 上将
  • 技术积分: 1535
  • 用 户 组: 普通用户
  • 注册时间: 2006-10-23 17:25
个人简介

淡泊明志 宁静致远

文章分类

全部博文(143)

文章存档

2011年(2)

2009年(1)

2007年(22)

2006年(118)

我的朋友

分类: C/C++

2006-11-23 15:13:37

C语言库函数源代码】

【本程序在Dev C++ 4.9.9.2 下编译通过】

/*

   STRCMP compares two strings and returns an integer

   to indicate whether the first is less than the second,

   the two are equal, or whether the first is greater than the second.

   Comparison is done byte by byte on an UNSIGNED basis,

   which is to say that Null (0) is less than any other character (1-255).

   字符串比较函数,比较字符串source和dest。当源字符串大于目标字符串的时候,返回1;

   当源字符串等于目标字符串的时候,返回0。当源字符串小于目标字符串的时候,返回-1;

*/

int my_strcmp(const char *source,const char *dest)

{

   int ret = 0 ;

   while( ! (ret = *( unsigned char *)source - *(unsigned char *)dest) && *dest)

      source++, dest++;

   if ( ret < 0 )

        ret = -1 ;

   else if ( ret > 0 )

        ret = 1 ;

   return(ret);

}

void Print(char * str1,char *str2,int t)

{

   if(t == 0)

      printf("\n%s Equal %s\n",str1,str2);

   else if(t == 1)

      printf("\n%s Upper Than %s\n",str1,str2);

   else if(t == -1)

      printf("\n%s Lower Than %s\n",str1,str2);

}

int main()

{

   char *str1= "ammana";

   char *str2 = "babi";

 

   Print(str1,str2,my_strcmp(str1,str2));

   Print(str2,str1,my_strcmp(str2,str1));

   Print(str2,str2,my_strcmp(str2,str2));

  

   system("pause");

   return 0;

}

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