私はC言語の基本的なことをしようとしていますが、私はセグメンテーションフォールトを取得し続けています。私がしたいのは、単語の文字を別の文字に置き換えることです。この例では、lをLに置き換えます。誰かが間違ったところを説明するのを助けることができますか?それは私が考える本当に基本的な問題でなければならない、私はちょうどなぜそれが動作しないのか分からない。私の出力の場合文字列の個々の文字要素を置き換えますC
#include<stdio.h>
#include<stdlib.h>
int main(int argc, char *argv[])
{
char *string1;
string1 = "hello";
printf("string1 %s\n", string1);
printf("string1[2] %c\n", string1[2]);
string1[2] = 'L';
printf("string1 %s\n", string1);
return 0;
}
私は
string1のハロー
string1の[2] L
セグメンテーションフォールト
感謝を入手!
String1は定数初期化子であるため、(ほとんどのシステムでは)読み取り専用メモリへのポインタです。最初にコピーせずにその文字列に書き込むことはできません。 – gaige