重複の可能性:
文字列への書き込み時にセグメンテーション違反が発生するのはなぜですか?
char a[] = “string”; の違いは何ですか? および char *p = 「文字列」;
誰でも次のプログラムの問題を指摘できますか:
#include <stdio.h>
int main()
{
char *c = "Hello World!! !!";
char c2 = 'X';
while(c)
{
if(*c == ' ')
{
printf("%s",c);
*c = c2;
}
c++;
}
return 0;
}
*c = c2;
次のエラーでクラッシュします:
Thread [1] (Suspended : Signal : EXC_BAD_ACCESS:Could not access memory)
main() at mainclass.cpp:64 0x100000d74
MAC OSX のコンパイラとして GCC を使用し、IDE として Eclipse を使用しました。