#include <stdio.h>
char *strcpy_r(char* s, char* t);
int main()
{
char *s = {"Bob"};
char *t = {"Billy"};
char *ptr;
ptr = strcpy_r(s, t);
printf("%s\n", ptr);
return 0;
}
char* strcpy_r(char* s, char* t)
{
if((*s = *t) != '\0')
strcpy_r(s + 1, t + 1);
return s;
}
我只是在做这个练习,但是当我编译它时。我从main得到了一个seg故障。有人能告诉我什么可能导致这个seg故障?递归strcpy函数
'{“Billy”)'这是一个错字? – Maroun 2013-03-20 06:58:32
您正在尝试修改字符串文字。这是未定义的行为,经常崩溃。 – 2013-03-20 06:59:36
对不起,这是一个错字。我现在要解决这个问题。 – Bonnie 2013-03-20 07:00:27