#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char * inplace_rev(char * s){
int n=strlen(s);
int i=0;
char aux,aux2;
while(i<=n/2){
aux=s[n-i-1];
aux2=s[i];
s[i]=aux;
s[n-i-1]=aux2;
i++;
}
return s;
}
int main(int argc, char *argv[]) {
printf("%d\n",sizeof(int));
char *s=(char *)malloc(100);
s="abcdef";
printf("%s",s);
printf("%s\n%s",s,inplace_rev(s));
return 0;
}
分段错误发生在方法&#34; in place rev&#34;中的while结构的第一次迭代中。更具体地说,在
s[i]=aux;
我使用了两个辅助变量来强调分段错误。 基本上,我试图将字符串反转到位。 提前致谢 ! 它