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

为什么jone的值中要用返回值啊,直接不返回写sum=sum/3也可以得到答案啊

#include <stdio.h>
/* Jone算出结果应该怎么写函数? */
int  joneResult(int x, int y, int z)
{
   int sum = x+y+z;
   sum=sum/3;         //这里是不是应该将sum返回呢?
}
/* Jack没有算出结果只说了一句话是不是应该用无返回值函数? */
int jackResult(int x, int y, int z)
{
    printf("我算不出来\n");
}
int main()
{
    int a, b, c;
    a = 10;
    b = 20;
    c = 30;
    //Jone的返回值类型是什么?
     int    jR = joneResult(a, b, c);
    printf("Jone运算结果是:%d\n", jR);
    printf("Jack运算结果是:");
    //Jack没有算出结果只说了句话,是不是直接调用函数就可以了?
   jackResult(a,b,c);
    return 0;
}

提问者:慕数据8950116 2019-01-30 09:04

个回答

  • 海岸边滴树
    2019-02-01 22:24:26

    同问同问

  • LinBun
    2019-01-31 00:16:30

    1.返回值是返回到调用该函数的函数里

           比如我写了一个函数

           int sum(int a,int b,int c)

            {

                return a+b+c;

            }

            然后在main函数里调用了它

            int main()

            {

                int a=1,b=2,c=3;

                int d=sum(a,b,c);

                printf("d=%d",d);

                return 0;

            }

        那么运行结果会是“d=6”,sum函数计算了a+b+c的结果然后将结果返回给调用它的main函数

    2.题目中要在main函数中输出jone的计算结果,所以要把值返回给main函数。不然算是算出来了,但是显示不出来啊。

  • 添一抹蓝色的来源
    2019-01-30 09:59:32

    #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的返回值类型是什么?    int jR = joneResult(a, b, c);     printf("Jone运算结果是:%d\n", jR);    printf("Jack运算结果是:");    //Jack没有算出结果只说了句话,是不是直接调用函数就可以了?    jackResult(a, b, c);    return 0;}

    /* 在主函数中要调用joneResult,如果不写返回值的话,要在joneResult输出 sum/3  */

    /* 即 printf("Jone运算结果是:%d\n", sum/3) */