自定义c语言字符串拷贝函数strcpy
#include<stdio.h>main(){chara[30],b[10];gets(a);gets(b);printf("%s\n",a);printf("%s\n...
#include<stdio.h>
main()
{
char a[30],b[10];
gets(a);
gets(b);
printf("%s\n",a);
printf("%s\n",b);
mystrcopy(a,b);
printf("%s\n",a);
return 0;
}
char* mystrcopy(char *dest,const char *src)
{
int lens=0,i,j;
while(src[j]!='\0')
{
lens++;
j++;
}
for(i=0;i<=lens;i++)
dest[i]=src[i];
return dest;
}
gcc编译
:13:7: 错误: 与‘mystrcopy’类型冲突
:9:5: 附注: ‘mystrcopy’的上一个隐式声明在此
哪儿错了?? 展开
main()
{
char a[30],b[10];
gets(a);
gets(b);
printf("%s\n",a);
printf("%s\n",b);
mystrcopy(a,b);
printf("%s\n",a);
return 0;
}
char* mystrcopy(char *dest,const char *src)
{
int lens=0,i,j;
while(src[j]!='\0')
{
lens++;
j++;
}
for(i=0;i<=lens;i++)
dest[i]=src[i];
return dest;
}
gcc编译
:13:7: 错误: 与‘mystrcopy’类型冲突
:9:5: 附注: ‘mystrcopy’的上一个隐式声明在此
哪儿错了?? 展开
展开全部
char* mystrcopy(char *dest,const char *src)
{
int lens=0,i,j;
while(src[j]!='\0')
{
lens++;
j++;
}
for(i=0;i<=lens;i++)
dest[i]=src[i];
return dest;
}
我不知道参数加
const这个对不对我说下程序中的错误。
j没有初始化就使用,错误
你怎么知道dest的长度就比src大了,是不是也要计算下dest的长度,然后条件写i<=len1&&i<=len2
{
int lens=0,i,j;
while(src[j]!='\0')
{
lens++;
j++;
}
for(i=0;i<=lens;i++)
dest[i]=src[i];
return dest;
}
我不知道参数加
const这个对不对我说下程序中的错误。
j没有初始化就使用,错误
你怎么知道dest的长度就比src大了,是不是也要计算下dest的长度,然后条件写i<=len1&&i<=len2
更多追问追答
追问
将j初始化后,去掉const 还是一样的错误。
追答
您好,吧return去掉,函数是void型,如果你要定义不是void,定义整形,成功返回1,失败返回0 。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询