首页
登录 | 注册

strcpy和strcmp的面试题辩论

strcpy:
    http://topic.csdn.net/u/20090901/08/1a5757e5-3467-4c27-884b-dd7401888dd4.html
strcmp:
    http://topic.csdn.net/u/20090829/18/056cea97-3502-4121-a394-4b7462320a0e.html
strchr:
    http://topic.csdn.net/u/20090831/13/365a5bff-3866-4f2e-8423-d70b215f66ea.html
 
在linux的函数库中这几个函数写法如下:
  strcpy:
        

char *strcpy(char *dest, const char *src)
{
        char *tmp = dest;

        while ((*dest++ = *src++) != '\0')
                /* nothing */;
        return tmp;
}

strcmp:

int strcmp(const char *cs, const char *ct)
{
        signed char __res;

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

strchr:

char *strchr(const char *s, int c)
{
        for (; *s != (char)c; ++s)
                if (*s == '\0')
                        return NULL;
        return (char *)s;
}

个人建议:在笔试面试中,最好在函数中加个出错判断,如assert(S == NULL )


相关文章

  •  更多Java培训.Java视频教程学习资料,请登录尚硅谷网站下载:www.atguigu.com  准备工作:setserveroutput onhellowrold程序begindbms_output.put_line('hello w ...
  • 内建函数,顾名思义,就是编译器内部实现的函数.这些函数跟关键字一样,可以直接使用,无须像标准库函数那样,要 #include 对应的头文件才能使用. 用来处理变长参数列表: 用来处理程序运行异常: 程序的编译优化.性能优化: 查看函数运行中 ...
  • 在ffmpeg的源代码中,有新旧版本的编解码接口调用示例,但是demux.mux然后decode.encode的联动起来的接口调用实例并没有,在使用旧版本的编解码接口在编译时会报接口弃用告警信息,所以最好尽快把原有的调用方式切换到新的编解码 ...
  • ----无数事故告诉开发人员:将散列机制引入密码很有必要 在经历了众多后果严重的数据泄露事故之后,开发人员是时候重新审视自己的传统思维.意识到将密码直接加以存储有多么危险了.不过别怕,一套极具可行性的替代方案已经前来救场. 上个礼拜,我参加 ...
  • 顾名思义,零长度数组就是长度为0的数组. int a[10]; int len; int a[len]; 在这个程序中,我们定义一个变量 len,作为数组的长度.程序运行后,我们可以通过输入指定数组的长度并初始化,最后再将数组的元素打印出来 ...
  • 作者:gfree.wind@gmail.com  博客:linuxfocus.blog.chinaunix.net在我们写代码的过程中,有很多函数由于经常的被调用,加上我们主观的惯性思维,认为这些函数很简单,结果反而更容易出错. 下面是我认 ...

2020 unjeep.com webmaster#unjeep.com
12 q. 0.013 s.
京ICP备10005923号