0

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

#include <stdio.h>

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

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

    return 0;
}
4

2 回答 2

4

ptr是一个指向字符串文字的指针,但不能修改字符串文字,将其更改为:

char ptr[] = "Linux";
于 2013-10-29T05:03:46.693 回答
0

故障是

*ptr = 'T';

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

于 2013-10-29T05:03:28.600 回答