用指针求最大最小值

#include <stdio.h>
#include <stdlib.h>
void maxmin(int *p,int n,int *max,int *min){
int a[20];
printf("请输入一组整数:\n");
for(int i=0;i<n;i++){
scanf("%d",&a[i]);

p=a;
*max=a[0];
for(int i=1;i<n;i++){
if(*max<*(p+i)){
*max=*(p+i);
}
}
printf("最大值为:%d",*max);
p=a;//要注意p 的指向 
*min=a[0]; 
for(int i=1;i<n;i++){
if(*min>*(p+i))
*min=*(p+i);
}
printf("输出最小值:%d",*min);

int main(){
int a[20],n;
int max;int min;//要注意这里max和min的类型定义和参数的传递,传的是地址! 
printf("请输入n的值:\n");
scanf("%d",&n);
maxmin(a,n,&max,&min);//上面参数是指针,指针是地址,所以下面这里也要传递一个地址; 
return 0;

}

猜你喜欢

转载自blog.csdn.net/cqwoniu/article/details/79207928
今日推荐