Я не уверен, почему я получаю Segmentation Fault: 11
при попытке скомпилировать этот маленький C-файл:
#include <stdio.h>
#define MIN 97
#define MAX 122
#define DIFF 32
int main()
{
int c = EOF;
int i, j;
int arr[MAX - MIN];
for(i=MIN; i<=MAX; i++)
arr[i] = 0;
while((c = getchar()) != EOF) {
if(c >= MIN)
++arr[c];
else
++arr[c + DIFF];
}
for(i=MIN; i<=MAX; i++) {
printf("|%c|", i);
for(j=1; j<=arr[i]; j++)
putchar('-');
putchar('\n');
}
return 0;
}
Я использую встроенный в Apple cc
, который просто Clang /Apple LLVM 10.0.0
Этот файл прекрасно компилируется на macOS 10.13.6, и у меня нет проблем с компиляцией любых других файлов / программ на C на 10.14;это просто один файл.С моей точки зрения начинающего, это похоже на ошибку в ОС.
РЕДАКТИРОВАТЬ: Эта программа является слегка измененным примером из упражнения K & R, которое я нашел здесь