求助 segement fault!!!
#include <stdio.h>#include <stdlib.h>int gcd(int a,int b){ while(a!=b) { if(a>b) a-=b; else b-=a; } return a;}void juggling (int i,int n,char *x){ int cycles=gcd(i,n); int t; for(int j=0;j<cycles;j++) { t=x[j]; int k=j; do { x[k%n]=x[(k+i)%n];//单步调式到这里。。。。显示堆栈错误? k+=i; }while(k%n!=j); x[(k-i)%n]=t; }}int main(){ char *s="abcdefgh"; int n=8; int i=3; juggling(i,n,s); puts(s);}char *s="abcdefgh";//这个是储存在常量区,不能被修改。。。