【发布时间】:2014-10-15 21:35:08
【问题描述】:
当从递归返回时,它给出了分段错误...如下面的输出所示,它正在进入递归调用,但是在返回时出现分段错误..是什么原因..我错过了一些无效的指针使用在这里?
#include<stdio.h>
#include<string.h>
void list(char path[],int i) {
printf("%s\n",path);
i--;
char newpath[]="0";
if(i>0){
strcpy(newpath,"");
strcpy(newpath,path);
strcat(newpath,"/");
strcat(newpath,"new");
list(newpath,i);
printf("%s\n",path);
}
else return;
return;
}
int main(){
list("start",10);
return 0;
}
输出:
start
start/new
start/new/new
start/new/new/new
start/new/new/new/new
start/new/new/new/new/new
start/new/new/new/new/new/new
start/new/new/new/new/new/new/new
start/new/new/new/new/new/new/new/new
start/new/new/new/new/new/new/new/new/new
start/new/new/new/new/new/new/new/new
Segmentation fault (core dumped)
【问题讨论】:
标签: c pointers recursion segmentation-fault parameter-passing