fscanf段错误读入数组

时间:2016-02-03 01:16:16

标签: c

为什么此代码中的fscanf会给我一个段错误?

int main(int argc, char *argv[])
{
  FILE *file = fopen(argv[1], "r");
  int n = atoi(argv[2]);

  char *words[n]; int i=0;
  while ((fscanf(file, "%s ", &words[i])) != EOF) i++;
}

1 个答案:

答案 0 :(得分:1)

因为你没有为你的单词分配记忆[i]。它们只是指向随机存储器地址的指针。