Ошибка сегментирования при вызове функции из файла:

В 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 Ошибка сегментирования (стек памяти сброшен на диск) Как можно исправить программу?


Ответы (0 шт):