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

求告知啊,实在不理解!!!!!!!!!!!!!!!

#include <stdio.h>

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

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

{

   int sum = (x+y+z)/3;

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

}

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

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

{

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

    return;

}

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;

}

为什么把 jackResult(a,b,c); 写在 printf("Jack运算结果是:");    的下面 ,系统就自动把   jackResult(a,b,c);的结果带入到里边?

 

提问者:慕仰103958 2018-11-10 16:02

个回答

  • 一入编程深似海啊
    2018-11-11 21:43:51

    当执行完printf("Jack运算结果是:");语句后,会打印“Jack运算结果是:”,然后执行下面的jackResult(a,b,c);语句,也就是开始调用函数jackResult(a,b,c),而这个函数的结果就是“我算不出来”,所以会紧接着打印“我算不出来”。其实你是不是想说为什么不写成printf("Jack运算结果是:",jackResult(a,b,c));?

  • 迷茫的程序崽
    2018-11-10 16:16:33

    函数运行完后会带进去的