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

为什么不能这么写,最后一行调用怎么不放到括号里啊

#include <stdio.h>

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

   int text(int x, int y, int z)

{

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

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

}

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

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

{

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

}

int main()

{

    int x, y, z;

    x = 10;

    y= 20;

    z = 30;

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

         

    printf("Jone运算结果是:%d\n",text(x,y,z) );

    printf("Jack运算结果是:%s\n",text1);

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

    

    return 0;

}


提问者:赴遥 2020-11-28 19:36

个回答

  • weixin_慕码人4577456
    2020-12-10 10:57:03

    void函数没有返回值,它是在text1函数里输出了“我算不出来”,你这样相当于在printf里又塞了一个printf,所以运行错误。而且你这个text1的用法也不对,应该是text1(x,y,z)

  • cosin3196650
    2020-11-29 17:14:02

    估计我也是和你一个水平的,这里为什么不能这么写,估计是因为你的%s用错了,它并不是字符型。然后关于怎么不放到括号里是因为不能放到括号里。