c语言 return返回问题

来源:百度知道 编辑:UC知道 时间:2024/05/12 13:42:09
请编写一个函数,函数入口为一个整型数组,出口为数组中元素的最大值和最小值

return只能返回一个值啊。。。

#include <stdio.h>
int *max_min(int a[])
{
int i,*p,temp[2];
temp[0]=a[0];
temp[1]=a[0];
p=temp;
for(i=1;i<5;i++)
{
if(temp[0]<=a[i])
temp[0]=a[i];
else if(temp[1]>a[i])
temp[1]=a[i];
}
return p;
}
main()
{
int x[5]={33,4,7,23,12},*po;
po=max_min(x);
printf("max=%d,min=%d\n",*po,*(po+1));
}

晕,如果你函数设置时
int max(int x);则返回一个
如果你函数设置时是int max(int x,int y)
不就返回两个数了

在C中只能返回一个值,所以就要用到指针,返回一个地址.

(int max,int min){
return就是两个值了
}

传参数阿……初学者?