如何将变量传递给另一个函数?

时间:2012-11-18 17:23:36

标签: c function variables

我不确定如何将变量从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()上停止,并在我输入值后直接完成。

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

3 个答案:

答案 0 :(得分:5)

只需传递参数abc即可调用该函数。语法:

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");      
}

答案 1 :(得分:2)

函数调用。

my_function(a, b, c);

答案 2 :(得分: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;
}