Итак, я пытаюсь открыть 2 файла, каждый из которых имеет три строки и 2 числа.После компиляции я запускаю его в терминале (я использую Ubuntu ftr) как
./a.out a.txt+b.txt
, и он ничего не возвращает.Когда я закомментирую часть кода «проверьте, правильно ли он открывается», он просто выплевывает некоторые цифры и выводит сообщение об ошибке «Ошибка сегментации (ядро сброшено)».Я действительно не знаю, что я делаю неправильно, так как этот кусок кода работает хорошо для моих друзей.Я поставил оскорбительный код ниже.(Остальная часть кода предназначена для выполнения операций с числами, поэтому между именами файлов есть плюс.)
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
int main(int argc, char** argv){
FILE* fa = fopen(argv[1],"r"); if(!fa)exit(1);
FILE* fb = fopen(argv[3],"r"); if(!fb)exit(1);
int k;
double A[3];
double Ag[3];
double B[3];
double Bg[3];
for (k=0;k<3;k++){
fscanf(fa, "%lf %lf", &A[k], &Ag[k]);
fscanf(fa, "%lf %lf", &B[k], &Bg[k]);
}
for (k=0;k<3;k++){
printf("%lf %lf\n", A[k], Ag[k]);
printf("%lf %lf\n", B[k], Bg[k]);
}
fclose(fa);
fclose(fb);
return 0;}