void reverse_String(char a[], int start, int length){
int i;
int j = length;
for(i = start; i != j ; i++, j--){
a[i] ^= a[j];
a[j] ^= a[i];
a[i] ^= a[j];
}
printf("%s", a);
}
int main(int argc, char *argv[]){
int length;
char word[strlen(argv[1])];
strcpy(word,argv[1]);
length = strlen(word);
reverse_String(word,0,length);
return 0;
}
为什么某些条目会出现段错误,但其他条目却有效? (argv[1] 是输入的任何字符串)
最佳答案
如果字符数是偶数,i永远不会等于j。您需要将条件更改为 i < j
关于C:反转字符串时的段错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35515055/