4
可能重複:
Getting Segmentation FaultString allocation seg fault - 爲什麼會發生這種情況?
/* Reverse a string in place
*/
#import <stdio.h>
void reverse(char * str);
int main()
{
char * string = "This is a string.";
printf("%s\n", string);
reverse(string);
printf("%s\n", string);
}
void reverse(char * str)
{
char * start = str;
char * end = str;
if(0==*str)
return;
//Find the end
for(;0 != *(++end););
end--;
do
{
*end = *end^*start;
*start = *end^*start;
*end = *end^*start;
}while(++start < --end);
}
我不知道爲什麼這賽格故障。是因爲我用一個常量字符串初始化我的char *?
這在這個重複的問題中被廣泛地覆蓋。 – 2011-05-02 05:42:23