#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