c - C 代码中的段错误

标签 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;

}

我收到段错误。而且我没有看到错误(也许太明显了)。有什么提示吗?

干杯

最佳答案

改变

char *str = "abcdef";

char str[] = "abcdef";

第一个str 指向一个字符串字面量并且字符串字面量在C 中是不可修改的,

关于c - C 代码中的段错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20455297/

相关文章:

c - C 语言编写的 SDL 程序中的段错误

c - 链表中的段错误

c - 调试修改后的 OpenSSL

你能从c中的文件中的特定位置写入吗?

转换文件中的文本

Pycharm 调试器立即退出并显示 139 代码

c++ - 将分配的 C++ 数组传递给 Fortran 子例程

c++ - 如何将 C/C++ 插件安装到 Netbeans (linux)

c - c 中的简单服务器不起作用

c - 将 int 数组的成员传递给 printf 会导致 C 中的段错误