求大神幫忙解答
#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;
}
為什么出來的結(jié)果不對
2018-07-11
在so函數(shù)里for循環(huán)的判斷條件i<=N改為i<N。在why函數(shù)里,return max在for循環(huán)里,也就是說for執(zhí)行一次就返回函數(shù)值,調(diào)用函數(shù)就結(jié)束了,應把return max放在for循環(huán)外。