C代码中的分段错误

时间:2013-12-08 15:43:31

标签: c segmentation-fault

我对C完全不熟悉,我即将编写一个反转字符串的函数。我的代码如下所示:

char *str = "abcdef";
char *ptr;
for(ptr = str; *ptr ; ptr++);

for(; str < --ptr; str++)
{
    char c = *str;
    *str = *ptr;
    *ptr = c;

}

我收到了分段错误错误。而且我没有看到错误(也许它太明显了)。任何提示?

干杯

2 个答案:

答案 0 :(得分:6)

更改

char *str = "abcdef";

char str[] = "abcdef";

第一个str指向字符串文字和字符串文字在C中无法修改,

答案 1 :(得分:0)

您的字符串存储在ROM中,因此您无法写入。取决于你的平台。