[英]C: Segmentation Fault When Reversing String
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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.