标题:有关全局变量的问题,请各位朋友给解答下
取消只看楼主
cheenbee
Rank: 2
等 级:论坛游民
帖 子:53
专家分:32
注 册:2011-11-3
结帖率:100%
已结贴  问题点数:5 回复次数:1 
有关全局变量的问题,请各位朋友给解答下
#include<stdio.h>
float Max=0,Min=0;
float average(float array[],int n){
    int i;
    float aver,sum=array[0];
    Max=Min=array[0];
    for(i=1;i<n;i++){
        if(array[i]>Max)
            Max=array[i];
        else if(array[i]<Min)
            Min=array[i];
        sum=sum+array[i];
    }
    aver=sum/n;
    return aver;
}
int main(){
   
    float a[]={89,95,87.5,100,67.5,97,59,84,73,90};
    printf("max=%6.2f\nmin=%6.2f\naverage=%6.2f\n",Max,Min,average(a,10));
    return 0;
}
疑问一:
Max和Min在调用average函数之前输出,为什么其值不是0,0 。运行顺序是什么?
疑问二:
全局变量Max和Min的值在average函数中被改变为什么会被传到main函数中,是不是在别的函数中只要全局变量的值被改变会一直被沿用?
搜索更多相关主题的帖子: 朋友 average include return 
2011-11-07 17:31
cheenbee
Rank: 2
等 级:论坛游民
帖 子:53
专家分:32
注 册:2011-11-3
得分:0 
回复 4楼 Sv少
今天无意间看书已知道最后输出的问题:在多数系统中对函数参数求值顺序为自右向左!
2011-11-16 20:12



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-354526-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.063200 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved