标题:写了一个strcmp函数,但是觉得太大,不好,有没有很简单的程序?
只看楼主
Devil_W
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:9
帖 子:1160
专家分:1797
注 册:2009-9-14
得分:0 
程序代码:
int strcmp(register const char *s1, register const char * s2)
{
         while (*s1 == *s2++)
                 if (*s1++ == 0)
                         return (0);
         return (*(const unsigned char *)s1 - *(const unsigned char *)(s2 - 1));
}
收到的鲜花
  • xdh08172011-11-08 19:20 送鲜花  3朵   附言:不错
2011-11-08 19:09
鑫乐源
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:27
专家分:150
注 册:2011-10-20
得分:0 
字符串中的\0,等于数值 0。就这么简单。空格字符有它自己的ASCII码,自己查吧。

关于for,,自己看教科书吧,我说的不准

不要和编译器比智商。
2011-11-08 19:10
xdh0817
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:193
专家分:195
注 册:2011-10-20
得分:0 
以下是引用Devil_W在2011-11-8 19:09:40的发言:

int strcmp(register const char *s1, register const char * s2)
{
         while (*s1 == *s2++)
                 if (*s1++ == 0)
                         return (0);
         return (*(const unsigned char *)s1 - *(const unsigned char *)(s2 - 1));
}
给解释一下吧~
2011-11-08 19:19



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-354616-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017285 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved