-6

我不确定如何将变量从 main() 传递给另一个函数。我有这样的事情:

main()
{
  float a, b, c;

  printf("Enter the values of 'a','b' and 'c':");
  scanf("%f %f %f",&a,&b,&c);
}

double my_function(float a,float b,float c)
{
  double d;

      d=a+b+c
      bla bla bla bla

如何将 a、b 和 c 从 main 传递到 my_function?现在程序在 scanf() 上停止,并在我输入值后立即完成。

我在这里看到了不同的例子,但它们对我没有多大帮助。

4

3 回答 3

5

只需通过传递参数ab和来调用函数c。句法:

retval = function_name(parameter1,parameter2,parameter3); //pass parameters as required

像这样:

int main(void)
{
    float a, b, c;
    double d;

    printf("Enter the values of 'a','b' and 'c': ");
    if (scanf("%f %f %f",&a,&b,&c) == 3)
    {
        d = my_function(a, b, c);
        printf("Result: %f\n", d);
    }
    else
        printf("Oops: I didn't understand what you typed\n");      
}
于 2012-11-18T17:26:15.110 回答
2

函数调用。

my_function(a, b, c);
于 2012-11-18T17:24:38.650 回答
2

您必须从 main 调用该函数!

float my_function(float a,float b,float c)
{
  float d;

  d=a+b+c;
  return d ;
}

int main()
{
  float a, b, c;
  float result ;

  printf("Enter the values of 'a','b' and 'c':");
  scanf("%f %f %f",&a,&b,&c);

  result = my_function(a,b,c);
  printf("\nResult is %f", result );    

  return 0;
}
于 2012-11-18T17:30:00.107 回答