有关指针求最大值与最小值
下面是一组用指针求最大值、最小值、平均值的语句,哪位兄台帮我看看错在哪里?#define N 100
main()
{float x[N],*p;p=x;int i,n; / * 这一句可不可以写成 float x[N],*p=x;int i,n; 写成这样后提示是错误的,这两句有什么区别呢?*/
float maxmin();
printf ("请输入数据的个数:");scanf ("%d\n",&n);
for (i=0;i<n;i++)
scanf ("%f",x+i);
maxmin(p,n);
printf ("max=%f,min=%f,ave=%f\n",p[n],p[n+1],p[n+2]);
getch();}
maxmin(p,n)
float *p;int n;
{int i;
*(p+n+1)=*p;*(p+n)=*p;*(p+n+2)=*p;
for (i=0;i<n;i++)
{if (*(p+i)>*(p+n)) *(p+n)=*(p+i);
if (*(p+i)<*(p+n+1)) *(p+n+1)=*(p+i);
*(p+n+2)+=*(p+i);}
*(p+n+2)=*(p+n+2)/n;}
[ 本帖最后由 plane5530 于 2011-4-3 21:01 编辑 ]