strcpy函数的重写

为什么我在vs2010里这样编写strcpy函数会运行出错?
char* mstrcpy(char* strDest,const char* strSrc)
{
    if(strDest==NULL||strSrc==NULL)return NULL;
    char *add=strDest;
    while((*strDest++ = *strSrc++)!='\0');
    return add;
}

int _tmain(int argc, _TCHAR* argv[])
{
    char *a="adslj";
    char *b;
    cout<<mstrcpy(b,a);
    system("pause");
    return 0;
}

全部评论
b没有分配内存,而且b本身也没初始化为NULL,自然无法返回NULL,也无法拷贝成功。
点赞 回复 分享
发布于 2017-10-23 19:59
B没有分配内存啊
点赞 回复 分享
发布于 2017-10-24 08:58
你b需要malloc吧
点赞 回复 分享
发布于 2017-10-23 20:15

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务