| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 7514 人关注过本帖
标题:写两个字符串比较是否相等的函数,相等返回1,不等返回0.不能用库函数
只看楼主 加入收藏
yxwsbobo
Rank: 5Rank: 5
等 级:职业侠客
帖 子:345
专家分:306
注 册:2007-10-29
收藏
得分:0 
你俩的代码无法判断两个字符串长度不相等的时候的情况

How are you 怎么是你?
How old are you   怎么老是你?
2008-03-12 00:39
广陵绝唱
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:29
帖 子:3607
专家分:1709
注 册:2008-2-15
收藏
得分:0 
回复 11# 的帖子
谢谢,学习了,明天一定编一个不用指针也不用库函数的函数。呵呵 ~
2008-03-12 00:47
xianshizhe111
Rank: 1
等 级:新手上路
帖 子:1451
专家分:0
注 册:2007-12-8
收藏
得分:0 
int cmp(char *a,char *b)
{
     while(*(++a)==*(++b))
         if(*a=='\0'||*b=='\0') break;
     return *a==*b?1:0;
}
2008-03-12 01:07
yxwsbobo
Rank: 5Rank: 5
等 级:职业侠客
帖 子:345
专家分:306
注 册:2007-10-29
收藏
得分:0 
ls忘记判断第一个字符了
经过提示,改成这样,应该最简了

程序代码:
int bijiao(char *a,char *b)
{
while(*a||*b)
if(*a++!=*b++)
return 0;
return 1;
}

How are you 怎么是你?
How old are you   怎么老是你?
2008-03-12 01:20
sxn0508
Rank: 1
等 级:新手上路
帖 子:120
专家分:0
注 册:2008-1-24
收藏
得分:0 
程序代码:
int _StrCmp (const char * src,const char * dst)
{   
    int ret = 0 ;
    while( !(ret=*(unsigned char *)src -*(unsigned char *)dst)&& *dst)
           ++src, ++dst;          
    return( ret?1:0 );
}
2008-03-12 01:22
xianshizhe111
Rank: 1
等 级:新手上路
帖 子:1451
专家分:0
注 册:2007-12-8
收藏
得分:0 
int cmp(char *a,char *b)
{
     while(*a==*b)
         {a++;b++;if(*a=='\0'||*b=='\0') break;}
     return *a==*b?1:0;
}
2008-03-12 01:39
chenang
Rank: 1
来 自:陕西
等 级:新手上路
帖 子:12
专家分:0
注 册:2008-3-11
收藏
得分:0 
int bijiao(char a[],char b[])
{
        int i,k;
        for(i=0;a[i]!='/0';i++)
          if(a[i]==b[i])
              k=1;
          else
              { k=0;
               break;
               }
     return k;
}

年轻需要经历,只有经历方能取得人生的真经!
2008-03-12 11:06
zbqf109
Rank: 1
等 级:新手上路
帖 子:289
专家分:0
注 册:2006-12-31
收藏
得分:0 
程序代码:
int strcmp(const char * cs,const char * ct)
{
    register signed char __res;

    while (1) {
        if ((__res = *cs - *ct++) != 0 || !*cs++)
            break;
    }

    return __res;
}

坚决不跟用TC的人打交道!
2008-03-12 12:28
weilijian
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2008-3-4
收藏
得分:0 
看看这个
int strcompare(char *s1,char *s2)
{
    while(*s1&&*s2)
    {
        if(*s1!=*s2)
           return 0;
        s1++;
        s2++;
    }
    if((*s1==*s2))
        return 1;
    else
        return 0;
}
2008-03-13 19:43
hoodlum1980
Rank: 2
来 自:浙江大学
等 级:论坛游民
威 望:2
帖 子:289
专家分:23
注 册:2008-2-24
收藏
得分:0 
[bo]以下是引用 [un]广陵绝唱[/un] 在 2008-3-12 00:04 的发言:[/bo]

又重新去上机试验了一下,发现3#同志的程序存在错误,while中的i值自增两次,非常严重的错误,导致K值不准。

    后来在do--while中增加i++语句,while结束条件中的i++取消,上机验证,正确。

    呵~~~~~~~
    还希望更多人写 ...


你说的没错,毫无疑问,3楼的代码写的有严重问题~~~~~~~
2008-03-14 13:45
快速回复:写两个字符串比较是否相等的函数,相等返回1,不等返回0.不能用库函数
数据加载中...
 
   



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

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