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 に答える