一个自定义函数能不能有两个返回值,若能,如何实现

来源:百度知道 编辑:UC知道 时间:2024/06/17 10:50:40

可惜返回无数个值

虽然RETURN只能返回一个值
但是没有对这个值有类型要求
你返回个数组是可以的。数组里的元素有两个就相当于返回两个值
还可以返回结构体,实现不同类型的返回值
这样就实现了你的要求

当然不能了,要想返回2个或更多的值,需要用到地址参数传递

通过参数返回,即传递要存放返回值的位置

#include <stdio.h>
void fun(int a,int b,int *s)
{
s[0]=a>b?a:b;
s[1]=a+b-s[0];
}
main()
{
int a,b,MAX_MIN[2];
scanf("%d%d",&a,&b);
fun(a,b,MAX_MIN);
printf("max(%d,%d)=%d,min(%d,%d)=%d",a,b,MAX_MIN[0],a,b,MAX_MIN[1]);
}