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

关于返回值的问题,请求解答

#include <stdio.h>

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

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

{

   int sum = x+y+z;

   return 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运算结果是:");

    jackResult(a,b,c);

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

    return 0;

}

上面第二个自定义函数中为什么没有retrun,也能继续,还有就是如果int更换成void然后加上retrun也能继续运行

提问者:weixin_慕尼黑2172883 2019-07-12 12:41

个回答

  • 修裾欲溯空
    2019-07-12 16:00:17

    前面那个问题,是因为程序没有语法错误,c语言没有规定函数必须有返回值,没有也行,可以运行,只是运行之后你不能得到他的用变量保存他的结果,只要调用了函数就能运行

    后面那个问题,可以return,但是接受不到他返回的值,而且要强行接收还会报错