问题描述
- 编译时报错,不造哪儿错了=。=
-
#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可以通过编译
希望采纳我的答案哦,只要点一下我的回答右边的按钮哦,捂脸~~
解决方案三:
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("%dn", ac[i]);
int i,max;
...
}
看看输出什么
时间: 2024-10-01 06:51:38