编译时报错,不造哪儿错了=。=

#include
#define SIZE 5
int Getmax(int *ac,int n)
{
int i,max;
for(i=0;i<=2;i++)
{
max = (ac[i]>ac[i+1]?ac[i]:ac[i+1]);
max =(max>ac[i+2]?max:ac[i+2]);

}
return max;

}

int Getmin(int *ar,int m)
{
int i,min;
for(i=0;i<=2;i++)
{
min = (ar[i]>ar[i+1]?ar[i+1]:ar[i]);
min =(min>ar[i+2]?ar[i+2]:min);
}
return min;
}

int main(void)
{
int a[SIZE],temp1,temp2,i,a;

printf("请输入5个范围在10000以内的整数:");
for(i=0;i<=4;i++)
{
    scanf("%d",&a[i]);
}
temp1=Getmin(a,SIZE);
temp2=Getmax(a,SIZE);
printf("max=%d,min=%d",temp2,temp1);

}

error C2040: 'a' : 'int ' differs in levels of indirection from 'int [5]'

你定义了2个变量,一个数组一个整数都叫a
换个名字

删除最后一个a可以通过编译

http://ideone.com/gm4kqE

希望采纳我的答案哦,只要点一下我的回答右边的按钮哦,捂脸~~

 int Getmax(int *ac,int n)
 {
 int i,max;
 max = ac[0];
 for(i=1;i<n;i++)
 {
    if (max < ac[i]) max = ac[i];
}
return max;
}
 int Getmax(int *ac,int n)
 {
 int i,max;
 max = ac[0];
 for(i=1;i<=n;i++)
 {
    if (max < ac[i]) max = ac[i];
}
return max;
}

另一个类似

 int Getmax(int *ac,int n)
 {
//这里加上
for (int i = 0 ; i < n; i++)
    printf("%d\n", ac[i]);
int i,max;
...
}

看看输出什么