主函数中直接初始化一个字符数组(定义时赋字符串初值),通过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;
}