以下程序的功能是在一个一维整型数组中找出其中最大的数及其下标。请改正程序中的错误。

#include <stdio.h>
#define N 10
/FOUND/
float fun(int *a,int *b,int n)
{ int *c,max=*a;
for(c=a+1;c<a+n;c++)
if(*c>max)
{ max=*c;
/FOUND/
b=c-a;
}
return max;
}
void main()
{ int a[N],i,max,p=0;
printf("please enter 10 integers:\n");
for(i=0;i<N;i++)
/FOUND/
get("%d",a[i]);
/FOUND/
m=fun(a,p,N);
printf("max=%d,position=%d\n",max,p);
}

修改如下,供参考:

#include <stdio.h>
#define N 10
//FOUND
float fun(int *a,int *b,int n)
{
    int *c,max=*a;
    for(c=a+1;c<a+n;c++)
        if(*c>max)
        {
           max=*c;
           //FOUND
           *b=c-a; //b=c-a;
        }
    return max;
}
void main()
{
    int a[N],i,max,p=0;
    printf("please enter 10 integers:\n");
    for(i=0;i<N;i++)
    //FOUND
       scanf("%d", &a[i]); //get("%d",a[i]);
    //FOUND
    max=fun(a,&p,N); //m=fun(a,p,N);
    printf("max=%d,position=%d\n",max,p);
}