Вам необходимо проверить, был ли файл открыт и прочитан ли ввод.Вам также необходимо прекратить чтение, если файл заканчивается преждевременно.
#include <errno.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(void)
{
const char *filename = "BesselFunction.txt";
double ZeroBesselFuncTM[20];
double zero;
int i, j, n;
FILE *constant;
constant = fopen(filename, "r");
if (constant != NULL) {
i = -1;
do {
i++;
n = fscanf(constant, "%lf\n", &zero);
if (n == 1) {
ZeroBesselFuncTM[i] = zero;
} else if (n == 0) {
fprintf(stderr, "Invalid input\n");
exit(EXIT_FAILURE);
}
} while ((i < 20) && (n != EOF));
for(j = 0; j < i; j++) {
printf("%0.4f\n", ZeroBesselFuncTM[j]);
}
} else {
fprintf(stderr, "Cannot open file %s: %s\n", filename, strerror(errno));
exit(EXIT_FAILURE);
}
return 0;
}