xianzhi157
xianzhi157
采纳率60%
2019-12-11 16:30 浏览 190

函数递归时不能继续递归,输出不了结果,提示错误为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条回答 默认 最新

  • ZL1599292797 QiQaWgYu 2019-12-11 17:26

    你这个是要实现什么?

    点赞 评论 复制链接分享

相关推荐