C++题目求解答

2025-06-21 19:00:41
推荐回答(1个)
回答1:

错误多了去了,基本概念都没懂,函数原型就错了,指针也没学;函数原型(声明)void copyp(char *s,char *t,int n),你要传递的是一个数组,记住,是一个数组,而不是一个字符,不是一个!,是一组!
然后我慢慢看代码,第一点,空字符也可以复制('\0'),所以,while条件可以取消,第二,while还有可能越界(就是N的值可能大于数组,这个没有处理),第三,你的t(算了,函数原型都搞错了);
给你写一个,void copyp(char *s,char *t,int n)
{
int i=0;
while((*s++=*t++)!='\0')
if(++i>n);
{
*s='\0';
break;
}
}我写的函数是把t复制到s中,你自己对调一下就是。