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

为什么第二行输出顺序不正确?

#include <stdio.h>

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

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

{

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

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

}

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

char 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",joneResult(a, b, c) );

    printf("Jack运算结果是%c",jackResult(a,b,c));

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

    //jackResult(a,b,c);

    return 0;

}


输出结果

Jone运算结果是20
我算不出来
Jack运算结果是


提问者:三楼楼长 2015-05-05 16:46

个回答

  • 康振宁
    2015-05-05 18:12:20

    #include <stdio.h>
    /* Jone算出结果应该怎么写函数? */
     int  joneResult(int x, int y, int z)
    {
       int sum = (x+y+z)/3;
       return sum;         //这里是不是应该将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运算结果是:");
        //Jack没有算出结果只说了句话,是不是直接调用函数就可以了?
    void noResult();
    jackResult( a , b , c ) ;
        return 0;
    }