Ошибка сегментации Mac - код C - PullRequest
0 голосов
/ 16 мая 2018

При компиляции кода с помощью 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 голосов
/ 16 мая 2018

Я почти уверен, что приведенный выше комментарий правильный. Это происходит потому, что не удается открыть один из ваших файлов. Я получил это, чтобы работать на моей системе без проблем. Я бы проверил, чтобы убедиться, что вы правильно ввели b.data при создании файла, и я также проверил бы права доступа к файлу, чтобы убедиться, что вы можете читать b.data и записывать в found.data и в каталог, в котором вы находитесь. работает в.

Кроме того, после b [N] в строке 5 должна быть точка с запятой, но она должна быть в вашем текущем файле, иначе она даже не будет компилироваться.

...