Ошибка сегментирования при вызове функции из файла:
В main вызывается функция проверки функции:
double a = NAN, b = NAN, c = NAN;
double x1 = 0, x2 = 0;
test_LinSolve();
scanf ("%lf %lf %lf", &a, &b, &c);
Сама функция(лежит в отдельном файле и подключается в .h):
void test_LinSolve()
{
double x = 0;
Unit_LinSolve ( 1, 1, &x, -1, __LINE__ );
Unit_LinSolve ( 2, -1, &x, 0.5, __LINE__ );
}
void Unit_LinSolve (double a, double b, double *x, double correct_value, int line)
{
LinSolve (a, b, x);
if ( EqualDouble(correct_value, *x) )
{
printf ("Test on line %d ok", line);
}
else
{
printf ("Test failed on %d line: correct x = %lf, but function's result x = %lf.\n", line, correct_value, *x);
}
}
Возможно причина в дублировании переменных, но поставить {} второй раз для предотвращения этого не исправляет ошибку: Square equation solution. Enter a, b, c coefficients Ошибка сегментирования (стек памяти сброшен на диск) Как можно исправить программу?