指针求数组中的最大值和最小值改错
发布网友
发布时间:2022-05-02 13:37
我来回答
共3个回答
热心网友
时间:2022-06-20 07:26
#include<stdio.h>//这里你忘了#;
int max,min; /*全局变量*/
void max_min_value(int *array,int n)
{int *p,*array_end;
array_end=array+n;
max=min=*array;
for(p=array+1;p<array_end;p++)
if(*p>max)max=*p;
else if (*p<min)min=*p;
return;
}
int main()
{int i,number[10],*p;
p=number; /*使p指向number数组*/
printf("enter 10 integer umbers:\n");
for(i=0;i<10;i++,p++)
scanf("%d",p);
p=number;
max_min_value(p,10);
printf("\nmax=%d,min=%d\n",max,min);
return 0;
}
其他没什么
对呀,我这运行结果没问题
热心网友
时间:2022-06-20 07:26
你在输入10个数的时候按如下形式就行:
1 2 3 4 5 6 7 8 9 10
10个数中间用空格隔开就行,这样就没问题了。
如果用逗号隔开的话也会被当成数字的,系统只会读取到 1,2,3,4,5,后面就都忽略了。你再试试。
热心网友
时间:2022-06-20 07:27
include<stdio.h>
int max,min; /*全局变量*/
void max_min_value(int *array,int n)
{int *p,*array_end;
array_end=array+n;
max=min=*array;
for(p=array+1;p<array_end;p++)
if(*p>max)max=*p;
else if (*p<min)min=*p;
return;
}
main()
{int i,number[10],*p;
p=number; /*使p指向number数组*/
printf("enter 10 integer umbers:\n");
for(i=0;i<10;i++,p++)
scanf("%d",p);
p=number;
max_min_value(p,10);
printf("\nmax=%d,min=%d\n",max,min);
}
的确没错啊,有的话就是main(),少了个返回值,第一行少了个#。