#include if(*p>max)
#define N 3
void main()
{
void max_min(int *p,int n);
int a[N],s=0,i,av;
for(i=0;i
for(i=0;i
av=s/N;
printf("av=%d\n",av);
max_min(a,N);
}
void max_min(int *p,int n)
{
int max,min;
max=min=*p;
for(;n--;p++) //只有这里进行了更改, p
max=*p;
else if(*p
printf("max=%d min=%d\n",max,min);
}
这样就好了
补充:
改的原因我在注释里面说了,你原来设立的条件总是成立的,程序就陷入了死循环,结束条件应该是每次循环次数达到n次,所以设计条件为n--,即每次n自减一,直至n为0.
注意,作为条件判断的时候,0为假,非0为真,n自减一到0的时候,条件才为假,跳出循环.
我说得应该明白了吧,如果还有疑问,可以hi我,继续探讨.
void main()
{
void max_min(int *p,int n);
函数声明不能放在main函数里,也不能放在其他函数里
max_min(a,N);实参a是数组首地址,这里调用不符合函数定义