问答详情
源自:5-5 函数的返回值

为什么不对?还有jackresult的是a,b,c而不是x,y,z

#include <stdio.h>

/* Jone算出结果应该怎么写函数? */

 int  joneResult(int x, int y, int z)

{

   int sum = x+y+z;

   return sum/3;          //这里是不是应该将sum返回呢?

}

/* Jack没有算出结果只说了一句话是不是应该用无返回值函数? */

void  jackResult(int x, int y, int z)

{

    printf("我算不出来\n");

}

int main()

{

    int a, b, c;

    a = 10;

    b = 20;

    c = 30;

    //Jone的返回值类型是什么?

         jR = joneResult(a, b, c); 

    printf("Jone运算结果是:%d\n", jR);

    printf("Jack运算结果是:");

    //Jack没有算出结果只说了句话,是不是直接调用函数就可以?

    jackResult(a,b,c);

    return 0;

}


提问者:Nicole5863 2016-05-22 09:02

个回答

  • 小雾3378873
    2016-06-04 22:37:54

    jackResult(a,b,c);

    是调用上面的定义过的jackResult()函数,在调用的时候将实参a,b,c,分别赋值给形参x,y,z

  • H2MAX
    2016-05-22 10:45:42

    1. jR没有定义,所以编译过不去,你定义一个int jR就好了。

    2. 为什么是a,b,c,不是x,y,z?因为函数中的形参是没哟具体的值的,这时候就需要从主函数从的实参去传递具体的值给形参去使用,而a,b,c都是代表具体的值,他们就能够被传递到形参中去运算了。