简单C语言,程序没错,但不知错在哪里? 请大师指教。

2025-01-03 23:54:22
推荐回答(4个)
回答1:

以下代码应该是正确的
修改部分在注释里说明了
#include
const int N=5;
void extrm(int a[],int n,int *max,int *min);
void main()
{
int a[N];
int i = 0;
printf("请输入五个整数:");
for(i=0;i scanf("%d",&a[i]);
int m,n;
extrm(a,N,&m,&n); //此处原来函数名写错了
printf("max=%d\tmin=%d\n",m,n);
}
void extrm(int a[],int n,int *max,int *min)
{
int i = 0;
*max=*min=a[0];
for(;i {
if(*max *max=a[i];
else if(*min>a[i]) //此处原来存在逻辑错误
*min=a[i];
}
}

回答2:

#include
#define N 5 //这里要这样定义
void extrm(int a[],int n,int *max,int *min);
void main()
{
int a[N];
int m,n;
int i; //变量要先定义,在使用,不要在中间定义
printf("请输入五个整数:");
for(i=0;i scanf("%d",&a[i]);

extrm(a,N,&m,&n);//函数名错了
printf("max=%d\tmin=%d\n",m,n);
}
void extrm(int a[],int n,int *max,int *min)
{
int i;
*max=*min=a[0];
for(i=0;i {
if(*max *max=a[i];
if(*max>a[i])
*min=a[i];
}
}
现在没错了

回答3:

第7行后引号你用的全角的,要用半角的,与前引号对应,
还有程序我扫了眼,应该还有点问题。

回答4:

sxtrm(a,N,&m,&n);
这里错了。