编写一个函数,实现字符串的拷贝。

主函数中直接初始化一个字符数组(定义时赋字符串初值),通过puts函数输出原串和目的串。
函数原型:int myStrcp(char *pDes,char *pSrc); // pDes 指向目标串,pSrc指向源串,函数返回拷贝字符的长度
解题具体的思路是什么?
为什么需要用到返回拷贝字符的长度?

#include <stdio.h>
int myStrcp(char *pDes,char *pSrc)
{
    int i=0;
    for(;pSrc[i]!='\0';i++)
    {
        pDes[i]=pSrc[i];
    }
    pDes[i]='\0';
    return i;
}
int main()
{
    char pSrc[]="zs321f2";
    char pDes[8];;
    int len=myStrcp(pDes,pSrc);
    puts(pSrc);
    puts(pDes);
    return 0;
}

人家要求的 你写就行 管他干嘛 写返回void不也一样 嘛


#include<stdio.h> 

int myStrcp(char *pDes,char *pSrc)
{
    int length=0;
    for(pSrc;*pSrc!='\0';pSrc++)
    {
        *pDes++=*pSrc;
        length++;
    }
    *pDes='\0';
    
    return length;
}
int main()
{
    char pSrc[20]="Hello World"; 
    char pDes[20];
    int len=myStrcp(pDes,pSrc);
    printf("复制后的新串为%s,长度为%d",pDes,len);
    return 0; 
}