急!!c语言代码求解。

intmax,min;voidmax_min_value(intarray[],intn){int*p,*array_end;array_end=array+n;max=... 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;
return;
}
main()
{
int i,number[10];
printf("enter 10 integer numbers: \n);
for(i=0;i<10;i++)
scanf("%d",&number[i]);
max_min_value(number,10);
printf("\nmax=%d,min=%d\n",max,min);
}
能否一步步的详细解释。谢谢。
展开
 我来答
紫翼魔狼
2010-02-26 · TA获得超过4344个赞
知道大有可为答主
回答量:1413
采纳率:42%
帮助的人:552万
展开全部
int max,min;//声明两个整型变量
void max_min_value(int array[],int n)
//声明函数max_min_value(),参数为:array[]和 n
//其中array[]是一个整数数组,n是一个整数
{
int *p,*array_end;//声明两个指针p和array_end
array_end=array+n;//array_end指向数组的尾部
//因为array是数组名,也就是数组的首地址
//array+n就是数组的第n个元素的地址,也就是数组的尾部
max=min=*array;//max=min=数组的第一个元素
//因为array是数组名,也就是数组的首地址
//所以*array就是数组的第一个元素
for(p=array+1;p<array_end;p++)//循环
//循环的初始条件是p=array+1,就是从数组的第2个元素地址/开始
//因为C语言数组下标是从0开始的
//结束条件是p<array_end,循环到数组的倒数第二个元素
//每次循环的步进条件:p++
if(*p>max)max=*p;//如果p指向的数组元素大于max,
//max就等于设个数组元素
return;//函数结束返回
}
main()//主函数
{
int i,number[10];//声明一个整数和一个整数数组
printf("enter 10 integer numbers: \n);
//显示enter 10 integer numbers:
for(i=0;i<10;i++)//0到10循环
scanf("%d",&number[i]);//对应输入每个数组元素
max_min_value(number,10);//调用函数求最大值(函数里没有求最小值)
printf("\nmax=%d,min=%d\n",max,min);
}
//显示最大值和最小值(最小值没有函数计算,就是number[0])
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式