0
一部の文字列を読み込み、行列形式で出力しようとしています。文字列をchar *配列に読み込む際にセグメントエラーが発生する
int main(int argc, char **argv)
{
char *buffer[BUFFER_SIZE];
for(size_t i = 0; i < BUFFER_SIZE; i++)
{
scanf("%s",buffer[i]); /**This line is causing segment fault **/
}
for(size_t i = 0; i < BUFFER_SIZE; i++)
{
for(size_t j = 0; j < strnlen(buffer[i], MAX); j++)
{
printf("%c ",buffer[i][j]);
}
printf("\n");
}
}
私はここで何が欠けていると思いますか?
バッファがヌルで終了していますか? – lamandy
BUFFER_SIZE文字列の配列を宣言しましたが、文字列自体にメモリを割り当てていません。 'buffer'は1つの文字列であると仮定されていますか? –
Manvendra Singh、 'scanf("%s "、buffer [i]);'が呼ばれたときのポインタ 'buffer [i]'の値は? – chux