printf("变化前:%s",*P);错误,应该是printf("变化前:%s",P);。
change(*p);应该是change(p);。
下面代码
for(i=n-m;i for(j=0;j a[j]=p[i]; } } 把一个p[i]元素连续赋给a[0]开始的m个元素有何意义?改成 for(i=n-m,j=0;j a[j]=p[i]; }就能凑效。
你用了malloc却没有释放它申请的内存。
这代码不可能有你说的输入n后就结束了的现象。
报异常了
VC里面单步运行试试
~~~~~~~~~