int zong() { int i; int sum; for(i=0;i<10;i++) { sum=sum+score[i]; } printf("总分为%d\n",sum); return sum; } int ping() { int average; int sum; sum=zong(); average=sum/10; printf("平均分为%d\n",average); return average; } 结果是这样的,为什么会有两个总分。
总分为786
最高分为98
最低分为63
总分为834
平均分为83
98 91 84 82 81 79 75 67 66 63
在zong函数表达式"int sum;"后输出sum的值试一下,看一下是多少?前后两个总分值不一致,可能是zong函数在第一次计算sum=sum+score[i]时sum(=后面的那个)没有赋值导致的。为什么会不一致,这个不知道!
主程序再调用int zong()时输入了一个总分,而调用int ping()时也输出了一个总分(即sum=zong();),至于两个总分不一样,估计是在主程序里做了一些处理。以上,都是猜的。