用数组写mycpy函数生成错误,想知道是什么原因


#define  _CRT_SECURE_NO_WARNINGS
#include ;

char* mycpy(char* dst,const char* src)
{
//数组版本;
    char src[] = {"HELLO"};
    int idx = 0;
    while (src[idx] != '\0')
    {
        dst[idx] = src[idx];
        idx++;

    }
    dst[idx] = '\0';
    return dst;
    printf("%s", dst);
}

//用的是visual stdio编译器,文件名cpp.


mycpy改为

char *mycpy(char *dst, const char *src) {
  char *p = dst;
  while (*src != '\0')
    *p++ = *src++;
  *p = '\0';
  return dst;
}

src明明是传入参数,怎么自己又定义一个局部变量src呢?

代码里第8行: char src[] = {"HELLO"}; 这行删除了即可。