有关全局变量的问题,请各位朋友给解答下
#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函数中,是不是在别的函数中只要全局变量的值被改变会一直被沿用?