【问题标题】:Segmentation fault when modifying a string [duplicate]修改字符串时出现分段错误[重复]
【发布时间】:2013-10-29 05:01:47
【问题描述】:

我在这段代码中遇到分段错误错误,但不知道为什么?

#include <stdio.h>

int main(void)
{
    char *ptr = "Linux";
    *ptr = 'T';

    printf("\n [%s] \n", ptr);

    return 0;
}

【问题讨论】:

    标签: c string pointers segmentation-fault


    【解决方案1】:

    ptr是指向字符串文字的指针,但是不能修改字符串文字,改成:

    char ptr[] = "Linux";
    

    【讨论】:

      【解决方案2】:

      错误是

      *ptr = 'T';
      

      它应该是一个字符数组,而不是一个字符串。

      【讨论】:

        猜你喜欢
        • 2011-09-03
        • 2013-08-31
        • 2023-03-31
        • 2013-12-06
        • 2012-06-17
        • 1970-01-01
        • 2020-11-27
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多