标题:有谁能帮我写一下main()函数
只看楼主
StarWing83
Rank: 8Rank: 8
来 自:仙女座大星云
等 级:贵宾
威 望:19
帖 子:3951
专家分:748
注 册:2007-11-16
得分:0 
不是哦,我只是在里面管理而已……

专心编程………
飞燕算法初级群:3996098
我的Blog
2008-10-10 08:27
fcpk
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2008-9-14
得分:0 
我也加入,学习哦
2008-10-10 08:32
woshiyun
Rank: 1
等 级:新手上路
威 望:2
帖 子:348
专家分:0
注 册:2008-6-16
得分:0 
[bo][un]StarWing83[/un] 在 2008-10-10 07:23 的发言:[/bo]

LS:
int strcmp(const char *lv, const char *rv)
{
    while (*lv && *lv == *rv)lv++, rv++;
    return *lv - *rv;
}

晕……代码改了三遍,还是阴沟里翻了船……早晨果然不适合看代码阿……


呵呵,还是和库函数不一致的。这是你自己的strcmp,别和库函数strcmp混淆了。

#include<stdio.h>
#include<string.h>

int mystrcmp(const char *lv, const char *rv)
{
    while (*lv && *lv == *rv)lv++, rv++;
    return *lv - *rv;
}
int main(void)
{
    char *s1 = "abc";
    char *s2 = "a";
    printf("%d",mystrcmp(s1,s2));
    return 0;
}

你看看真正的库函数,和你自己实现的“库函数”结果有没有差别?

[[it] 本帖最后由 woshiyun 于 2008-10-10 08:41 编辑 [/it]]
2008-10-10 08:40
fcpk
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2008-9-14
得分:0 
int my_strcmp(const char *lv, const char *rv)
{
    while (*lv && *lv == *rv)lv++, rv++;
    if ((*lv - *rv) > 0) return  1;
    if ((*lv - *rv) < 0) return -1;
    return 0;
}
2008-10-10 08:49
StarWing83
Rank: 8Rank: 8
来 自:仙女座大星云
等 级:贵宾
威 望:19
帖 子:3951
专家分:748
注 册:2007-11-16
得分:0 
有阿,当然有差别咯……
  7.21.4.2 The strcmp function
  Synopsis
1         #include <string.h>
          int strcmp(const char *s1, const char *s2);
  Description
2 The strcmp function compares the string pointed to by s1 to the string pointed to by
  s2.
  Returns
3 The strcmp function returns an integer greater than, equal to, or less than zero,
  accordingly as the string pointed to by s1 is greater than, equal to, or less than the string
  pointed to by s2.

  §7.21.4.2                                       Library                                          327
ISO/IEC 9899:1999 (E) ©ISO/IEC

上面内容从C99标准中摘录,所以虽然我实现的版本和库函数行为不一样,但是的确是符合标准的实现。

专心编程………
飞燕算法初级群:3996098
我的Blog
2008-10-10 09:25
flydream0
Rank: 1
等 级:新手上路
帖 子:20
专家分:7
注 册:2008-10-10
得分:0 
"abc"跟"abcd"比较后的结果是?如果按照版主的算法,指针飞了?
2008-10-11 01:04



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




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

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