函数递归时不能继续递归,输出不了结果,提示错误为program received signal sigsegv,segmentation fault

#include

#include

#include

void reverse( );

int main( )

{ char str[100];

int start, end;

gets(str);

scanf("%d %d", &start, &end);

reverse( str, start, end );

printf("%s\n", str);

return 0;

}

void reverse(char str[],int start,int end){

int k,len;

for(len=0;len<=100;len++){

    if(str[len]=='\0'){

        len--;break;

    }

}

if((end-start)>(len-start))end=len;

if((end - start==0)||(end - start==1)){

    k=str[end] ;str[end] = str[start] ;str[start] =k;

}

else{

    k=str[end] ;str[end] = str[start] ;str[start] =k;

    reverse (str,start++,end--);
        //调试运行到这一步时进不了递归函数,提示错误为program received signal sigsegv,segmentation fault

} 

}

1个回答

你这个是要实现什么?

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问