page contents

写出完整版的strcpy函数?

轩辕小不懂 发布于 2022-06-23 14:48
阅读 607
收藏 0
分类:C/C++开发
3839
Nen
Nen
- 程序员

如果编写一个标准strcpy函数的总分值为10,下面给出几个不同得分的答案:

2分

void strcpy( char *strDest, char *strSrc )

{

    while( (*strDest++ = * strSrc++) != '\0' );

}

4分

void strcpy( char *strDest, const char *strSrc )

//将源字符串加const,表明其为输入参数,加2分

{

    while( (*strDest++ = * strSrc++) != '\0' );

}

7分

void strcpy(char *strDest, const char *strSrc)

{

    //对源地址和目的地址加非0断言,加3分

    assert( (strDest != NULL) && (strSrc != NULL) );

    while( (*strDest++ = * strSrc++) != '\0' );

}

10分

//为了实现链式操作,将目的地址返回,加3分! 

char * strcpy( char *strDest, const char *strSrc )

{

    assert( (strDest != NULL) && (strSrc != NULL) );

    char *address = strDest;

    while( (*strDest++ = * strSrc++) != '\0' );

    return address;

}




请先 登录 后评论