为了账号安全,请及时绑定邮箱和手机立即绑定

求大神帮忙解答

#include <stdio.h>

#define N 10

int so(int score[])

{

   int sum =0;

   int i;

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

   {

       sum+=score[i];

   }

   return sum;

}

int why(int score[])

{

    

    int max=-1;

    int i;

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

    {

      if(score[i]>max)

      {

          max=score[i];

      }

      return max;

    }

}

int main()

{

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

    int sum,max;

    sum=so(score); 

    max=why(score);

    printf("总分是:%d\n",sum);

    printf("最高分:%d\n",max);

    return 0;

}

为什么出来的结果不对

正在回答

1 回答

在so函数里for循环的判断条件i<=N改为i<N。在why函数里,return max在for循环里,也就是说for执行一次就返回函数值,调用函数就结束了,应把return max放在for循环外。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C语言入门
  • 参与学习       926018    人
  • 解答问题       20793    个

C语言入门视频教程,带你进入编程世界的必修课-C语言

进入课程

求大神帮忙解答

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信