我这个c语言程序哪里错了

2025-05-09 08:53:16
推荐回答(2个)
回答1:

#include
void mm(int a[],int x,int *min,int *max);
int main(void)
{
int a[100],min,max,i;
a[0]=1;
printf("请输入10个整数\n");
for(i=0;i<10;i++)
{scanf("%d",&a[i]);
}
mm(a,i,&min,&max);            //有更改
printf("最小数=%d,最大数=%d\n",min,max);
return 0 ;
}
void mm(int a[],int x,int *min,int *max)
{
int i;
*min = *max=a[0];
for(i=1;i{ if(a[i]<*min)
*min=a[i];
if(a[i]>*max)
*max=a[i];
}
}

回答2:

mm(a,i,&min,&max);
不是mm(a,i + 1,&min,&max);
//你退出循环的时候,i就是10了。所以不能 + 1,会出界