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

为什么void输出的字符不能直接放入printf里面呢

#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运算结果是:",jackResult(a,b,c));
    //Jack没有算出结果只说了句话,是不是直接调用函数就可以了?
    //jackResult(a,b,c);
    return 0;
}


提问者:慕粉0109273348 2017-03-04 10:35

个回答

  • winw2012
    2017-03-04 15:58:41

    void function()是没有返回值的,如果你定义的函数int function(),那么函数就必须有return,返回值类型为整型;

    假设你定义了一个函数int func(),其中return sum;  当你在主函数调用时,如果想得到返回值,需要这样做:

    int x;

    x=func();

    这样x就得到了func()的返回值了,否则是没有的

    如果你在函数里有printf语句,那么,你直接在主函数里:

    func();

    运行结果就可以有printf的内容了