【发布时间】:2025-11-24 05:20:04
【问题描述】:
关于如何编写获取 2 个参数的 RECURSIVE 函数的任何想法: 首先是地址 d(char 的位置)。 第二个是字符串。 该函数将字符串 s 复制到从 d 开始的位置。 该函数返回 d 作为结果! 我们可以在没有 strcpy 的情况下做到吗?
copy_r(char *s, char *d)
{
*d = *s;
if(*s)return copy_r(++s, ++d);
}
错在哪里? (成立 )
还是有问题!如果位置 d 与某个已被 s 占用的位置重叠怎么办?
例如这个
strcpy(p1,“abcdefghijklomopqrstuvwqyz”); printf(copy_r(p1, p1+10));不起作用 –
输出应该是 klomopqrstuvwqyz
【问题讨论】:
-
是的,不用
strcpy也可以,递归也可以。 -
这和问“
strcpy()可以用C实现吗?”一样,答案当然是肯定的。 -
当然可以……你试过什么了吗?
-
作业问题?是的,你尝试过什么?
-
任何想法如何递归地编写它?提示可能
标签: c