c语言 数组求最大值与最小值,并通过形参传回调用函数

编程题(c语言):编写一个函数,求含n个元素的整型数组a求最大值与最小值,并通过形参传回调用函数,并要编写测试函数;我的做法(错误的,求更正)#include<stdio... 编程题(c语言):编写一个函数,求含n个元素的整型数组a求最大值与最小值,并通过形参传回调用函数,并要编写测试函数;
我的做法(错误的,求更正)
#include<stdio.h>
#include<stdlib.h>
#include<string.h>

void F(int *p,int *max,int *min)
{
int i;
*max=*p;*min=*p;
for(i=0;i<strlen(p);i++)
if(*max<*(p+i)) *max=*(p+i);
for(i=0;i<strlen(p);i++)
if(*min>*(p+i)) *min=*(p+i);
}

int main()
{
int a[6]={8,2,3,4,5,6},max,min;
F(a,&max,&min);
printf("%d %d\n",max,min);
system("pause");
return 0;
}
展开
 我来答
kaixingui2012
2012-11-19 · TA获得超过4.2万个赞
知道大有可为答主
回答量:1.4万
采纳率:81%
帮助的人:6438万
展开全部
#include<stdio.h>
#include<stdlib.h>
//因为是整型数组,必须要传递数组大小
void F(int *p,int size , int *max,int *min)
{
int i;
*max=*p;*min=*p;
for(i=1;i<size;i++)
{
if(*max<*(p+i)) *max=*(p+i);
if(*min>*(p+i)) *min=*(p+i);
}
}
int main()
{
int a[6]={8,2,3,4,5,6},max,min;
F(a,6,&max,&min);
printf("%d %d\n",max,min);
system("pause");
return 0;
}
百度网友e29fac5
2012-11-19 · TA获得超过1315个赞
知道小有建树答主
回答量:790
采纳率:50%
帮助的人:602万
展开全部
void F(int *p,int *max,int *min,int n)//strlen只适合于字符串,以'\0'为标志
{
int i;
*max=*p;*min=*p;
for(i=0;i<n;i++)
if(*max<*(p+i)) *max=*(p+i);
for(i=0;i<n;i++)
if(*min>*(p+i)) *min=*(p+i);
}

int main()
{
int a[6]={8,2,3,4,5,6},max,min;
F(a,&max,&min,6);
printf("%d %d\n",max,min);
system("pause");
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
濮方雅BX
2012-11-19 · TA获得超过4042个赞
知道大有可为答主
回答量:2482
采纳率:60%
帮助的人:2468万
展开全部
a是整形数组,不是字符串,你不能用strlen取长度。
再加个长度参数len传进去就好了。
void F(int *p,int len, int *max,int *min)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式