分段故障Mac - C代码

时间:2018-05-16 14:22:41

标签: c fault

使用gcc编译代码并运行可执行文件时,终端会显示Segmentation fault: 11。以前有人经历过这样的行为吗?

#include "stdio.h"
const int N=300;
int main(){
  FILE * infile, * outfile;
  int i, target, b[N];
  infile=fopen("b.data","r");
  outfile=fopen("found.data","w");
  fscanf(infile, "%d", & target);
  for (i=0; i<N;i++){
    fscanf(infile, "%d", & b[i]);
  }
  for(i=0;i<N;i++){
    if (b[i]==target){
      fprintf(outfile, "%d\n", i+1);}
  }
  return 0;}

1 个答案:

答案 0 :(得分:0)

我很确定上述评论是正确的。发生这种情况是因为它无法打开您的某个文件。我让这个在我的系统上工作没有问题。我会检查以确保您在创建文件时正确键入b.data,我还会检查文件权限以确保您能够读取b.data并写入found.data和您所在的目录工作。

第5行b [N]后面应该有一个分号,但你必须在实际文件中有分号,否则它甚至都不会编译。