10
キーボードから入力した文章などのリストを作りたい。行を取得するために、関数を使用していますgetline()
。2行目に入るとこのプログラムがクラッシュする理由を誰か説明できますか? 間違いはどこですか?
#define LISTMAX 100
#define LINEMAX 100
#include <stdio.h>
#include <string.h>
void getline(char *);
int main ()
{
char w[LINEMAX], *list[LISTMAX];
int i;
for(i = 0; i < 10; i++)
{
getline(w);
strcpy(list[i], w);
}
for(i = 0; i < 10; i++)
printf("%s\n", list[i]);
return 0;
}
void getline(char *word)
{
while((*word++ = getchar()) != '\n');
*word = '\0';
}