我正在尝试制作一个反转部分字符串的顺序的函数。我是使用指针的新手,出于某种原因,我可以访问字符串字符的位置以复制出子字符串,但我无法将它们放回同一位置...
当我尝试将反转的子字符串复制回其原始位置时,我得到
程序收到信号 SIGSEGV,分段错误。0x00007ffff7b5dc66 在?? () 来自 /lib/x86_64-linux-gnu/libc.so.6
任何帮助都是极好的!
这是我到目前为止所拥有的:
void reverse(char* line, int start, int end){
char str[end-start];
memcpy ( str , line + start , end-start );
reverseSubString ( str );
memcpy ( line + start, str , end-start );
}
void reverseSubString(char* str){
int i, j, len;
char temp;
i=j=len=temp=0;
len=strlen(str);
for (i=0, j=len-1; i<=j; i++, j--)
{
temp=str[i];
str[i]=str[j];
str[j]=temp;
}
}