递归实现字符串翻转

#include <cstdlib>
#include <iostream>

using namespace std;

void reverse(char *s,int len)
{
     char ch;
     if(len/2>0)
     {
                ch=*s;
                *s=*(s+len-1);
                *(s+len-1)=ch;
                reverse(s+1,len-2);
                }
      
     } 


int main(int argc, char *argv[])
{
    char *s="abcde";
    reverse(s,5);
    puts(s);
    system("PAUSE");
    return EXIT_SUCCESS;
}

为啥程序会崩溃,想不通,求指导。。。

原文地址:https://www.cnblogs.com/fickleness/p/3142657.html