编写实现字符串拷贝函数strcpy()完整版

  有个题目编程实现字符串拷贝函数strcpy(),很多人往往很快就写出下面这个代码。

void strcpy( char *strDest,char *strSrc )
{
    while(( *strDest++ = * strSrc++) != '\0' );//逐个赋值字符串数组中的数据,知道字符串结束
}

  其实仔细看看这个实现过程并不完美,严格来说非常不严谨,我们可以完善一下。

char * strcpy( char *strDest, const char *strSrc )//将源字符串加const,表明只读是输入参数
{
    assert( (strDest != NULL) && (strSrc != NULL) );//对源地址和目的地址加非0断言,判断有效性
    char *address = strDest;
    while( (*strDest++ = *strSrc++) != 0');//逐个复制
    return address;
}

  这样程序看起来完善多了,面试官也会很满意的。

posted on 2015-01-23 22:58  橙风歌  阅读(2183)  评论(0编辑  收藏  举报

导航