为什么输出时候min是0(大一新生)

#include
int max(int a, int b)
{ if(a>b) return a;
return b;
}
#define min(a,b) aint main()
{ int a[4],maxl,minl,i;
printf("请输入四位学生的成绩\n");
for(i=0;i<4;i++)
scanf("%d",&a[i]);
i=1;
maxl=a[0];
minl=a[0];
while(i++<4)
{ maxl=max(maxl,a[i]);
minl=min(minl,a[i]);
}
printf("最高分是%d,最低分是%d\n",maxl,minl);
return 0;
}

img

img

#define min(a,b) a<b?a:b
这个写的有问题,宏一定要注意了,它不是函数,改为
#define min(a,b) ((a)<(b)?(a):(b))