Как выполнить обратный вызов значения, присвоенного одной функции, для использования в другой функции

#c #function #callback

#c #функция #обратный вызов

Вопрос:

привет, я использую код c и написал две функции. мне нужно передать значение, присвоенное одной функции, в уравнение, которое содержится в другой функции.

это первая функция, которой присваивается значение из пользовательского ввода:

 double getAltitude()
{
double a;


printf("nEnter altitude (m):");
scanf("%lf", amp;a);


if (a > 9000)
{
printf("Invalid input! Altitude must be between 0 and 9000m");
return getAltitude();
}
else if ( a < 0 )
{
printf("Invalid input! Altitude must be between 0 and 9000m");
return getAltitude();
}
return a; 
}
  

и мне нужно использовать это значение, введенное пользователем, для решения уравнения внутри этой функции

 double density()
{
double density, a ;
density = (1.2 - 1.33*pow(10, -4)*a);
return density; 
}
  

где вместо переменной (a) в уравнении плотности следует вызывать пользовательский ввод из первой функции.

любая помощь была бы оценена

приветствия

Комментарии:

1. Найдите аргументы функции.

Ответ №1:

Добавьте переменную double a в функцию density и вызовите функцию density до завершения функции getAltitude. Кроме того, как указано в комментариях, пожалуйста, правильно отметьте вопрос.

 double getAltitude()
{
    double a;
    double x;

    printf("nEnter altitude (m):");
    scanf("%lf", amp;a);


    if (a > 9000)
    {
        printf("Invalid input! Altitude must be between 0 and 9000m");
        return getAltitude();
    }
    else if ( a < 0 )
    {
        printf("Invalid input! Altitude must be between 0 and 9000m");
        return getAltitude();
    }
    x = density(a);
    return a; 
}


double density(double a){
     double density ;
     density = (1.2 - 1.33*pow(10, -4)*a);
     return density; 
}