问题遇到的现象和发生背景
问题相关代码,请勿粘贴截图
运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果
#include <stdio.h>
int max,min;
int s(int n)
{ int *p,a[n],sum=0;
float avg;
max=a[0];
min=a[0];
for(p=a;p<a+n;p++)
{ scanf("%d",p);
sum=sum+*p;
if(min>*p)
min=*p;
if(max<*p)
max=*p;
}
avg=sum/n;
return avg;
}
main()
{ int b;
float avg;
printf("请输入数组长度:\n");
scanf("%d",&b);
avg=s(b);
printf("%f\n",avg);
printf("%d\n",max);
printf("%d",min);
}
为什么数组长度不同 有的时候是最大值正确,最小值错误 有时候却是最大值错误,最小值正确