Не понимаю в чем суть ошибки "использована неинициализированная локальная переменная "x" стр35"

#include <conio.h> // подключение библиотеки управления
// вводом-выводом средствами консоли MS-DOS
#include <math.h> // подключение библиотеки математических
                   // функций
#include <stdio.h> // подключение библиотеки стандартных 
                   // средств ввода-вывода языка C
#include <locale.h> // подключение библиотеки локализации
#include <stdlib.h> // подключение стандартной библиотеки


using namespace std;

int main()
{
    // вычисление значения функции y=f(x)
    setlocale(LC_ALL, "RUS"); // подключение русской консоли
    float a, // параметр a 
        b, // параметр b
        x, // параметр x
        y; // значение функции y

    bool valid; // флаг, отображающий принадлежность
                // аргумента области допустимых значений

    //ввод значений параметров а и b и аргумента x
    printf("Введите значение параметра a: ");
    scanf_s("%f", &a);
    printf("Введите значение параметра b: ");
    scanf_s("%f", &b);
    printf("Введите значение параметра x: ");
    scanf_s("%f", &a);

    // вычисление значения функции y
    valid = true;
    if (x <= a) // x <= a 
    {
        y = pow(cosh(x) + sinh(x) + pow(x, 0.5), pow(1.1 * x, 2.2));
    }
    else if (x < b) // a < x < b
    {
        y = fabs(pow(x, 1.3 / x) - pow(2.6 / 1.1 * x, 1 / 3) + pow(2.718, 0.221 * x));
    }
    else // x >= b
    {
        // проверка Области допустимых значений
        if (x <= 0) // если аргумент имеет недопустимое 
            valid = false; // значение, то флаг сбрасывается
        else
            y = log10(pow(2.718, (x + 25) / 2))+log(pow(100*x,1/3))+log(x)/log(4);
    }

    //вывод значения функции y в формате с плавающей точкой
    if (valid)
    {
        printf("Значение функции y = %e\n", y);
    }
    else
    {
        printf("Недопустимое значение аргумента");
        printf("Нажмите любую клавишу...");
        getch();
    }
    return 0;
}

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

Автор решения: nörbörnën

должно быть так:

printf("Введите значение параметра x: ");
scanf_s("%f", &x);
→ Ссылка