1
我試圖扭轉一個字符串與指針的使用Ç文字,雖然我的代碼收到*head=*tail
線SEGSIGV信號沖銷字符串的指針
char* reverse(char* input, int n) {
char temp;
char* head= input;
char* tail= &input[n-1];
while(head<tail){
temp=*head;
*head=*tail;
*tail=temp;
head++;
tail--;
}
return input;
}
int main(void){
char* sentence= "All work and no play makes jack a dull boy";
reverse(sentence, strlen(sentence));
printf("%s", sentence);
return 0;
}
我不知道如果我想訪問受限制的內存段。
字符串文字可能不寫,寫他們給出了不確定的行爲。您需要使用'char'數組,或者將反轉的字符串寫入不同的位置(這是可寫的)。 – Dmitri
字符串文字通常是隻讀的,任何修改它的嘗試都會導致未定義的行爲,通常會導致崩潰。不要這樣做! –