私のコードでは、getline()を使用して各文字列を取り込むために3つの文字列と配列の配列を作成します。ループ内でgetline()を使用したときのセグメンテーションフォルト
int i;
size_t n = 100;
char (*words[3])[100];
for (i = 0; i < 3; i++)
{
getline(&words[i], &n, stdin);
printf("%s\n",words[i]);
}
コマンドラインに3番目の文字列を入力すると、セグメント化エラーが発生します。
さらに、3を5に置き換えた場合、最初の文字列を入力するとセグメント化エラーが発生します。
So 1)私はそれを与えるすべての3または5または任意の文字列を格納するプログラムを取得できますか?
2)3を5に置き換えた場合、最初の文字列でエラーが発生します。
1つ以上のポインタが関わっていることを意味しますが、あなたはそれらを何かに向けさせていません。 –
私は実際には関数ポインタとしても解釈されるかもしれないと思います。 – SenselessCoder
@ n.m。ポインタが 'NULL'に初期化されている場合、' getline'はこれを行います。 – mch