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

关于函数返回值调用的顺序

#include <stdio.h>

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

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

{

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

   return 0;          //这里是不是应该将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;

}

为什么那个jR放在前面而jackResult(a,b,c)要放在后面?而且顺序不能改变?

提问者:YANGCHUAN 2015-04-20 19:37

个回答

  • 康振宁
    2015-04-21 10:11:38

    顺序可以改变啊,不过结果就不对了,你可以试试,因为程序是顺序执行的,在    printf("Jack运算结果是:");这句话执行完之后再 jackResult(a,b,c);这个方法,而这个方法中只有一个打印语句,也就是说直接执行printf("我算不出来\n");这句话了,所以,改变顺序后结果就不对了