问答详情
源自: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的返回值类型是什么?

         jR = joneResult(a, b, c); 

    printf("Jone运算结果是:%d\n", jR);

    printf("Jack运算结果是:");

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

    jackResult(a , b , c);

    return 0;

}


提问者:qq_幼稚的笨蛋_0 2017-06-04 16:59

个回答

  • weibo_轮回中的人_0
    2017-07-14 16:42:29

    楼上大哥的代码好乱.......

    这个函数就是jR没定义,肯定错误啊

  • Pilgrim杨大林
    2017-06-08 17:00:26

    你的代码中 “int jackResult(int x, int y, int z)”这个函数既然定义了返回值的类型为整形,那么函数体内必须要有返回值,在这个例子中返回值可以为0,即 return 0;

  • qq_将就_6
    2017-06-04 21:57:00

    #include <stdio.h>

    #include <stdlib.h>

    #define N 10


    int cmp(const void *a,const void *b){

        return *(int*)b - *(int*)a;

    }


    int Sum(int score[]){

        int s = 0,i;

        for(i = 0 ; i < N ; i++)

            s += score[i];

        return s;

    }


    int Max(int score[]){

        return score[0];

    }


    int Min(int score[]){

        return score[N-1];

    }


    double Avg(int s){

        return (s + 0.0) / N;

    }


    int main()

    {

        int score[N]={67,98,75,63,82,79,81,91,66,84};

        int i,sum;

        sum = Sum(score);

        qsort(score,N,sizeof(int),cmp);//sort it

        printf("Total score : %d\n",sum);

        printf("Max score : %d\n",Max(score));

        printf("Min Score : %d\n",Min(score));

        printf("Average score : %f\n",Avg(sum));

        printf("\n成绩排序:\n");

        for(i = 0 ; i < N ; i++)

        {

            printf("Rank %d's score : %d\n",i+1,score[i]);

        }

        return 0;

    }