修改字符串时出现分段错误

时间:2013-10-29 05:01:47

标签: c string pointers segmentation-fault

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

#include <stdio.h>

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

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

    return 0;
}

2 个答案:

答案 0 :(得分:4)

ptr是指向字符串文字的指针,但您无法修改字符串文字,将其更改为:

char ptr[] = "Linux";

答案 1 :(得分:0)

错误是

*ptr = 'T';

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