C++在不用指针或数组的情况下,怎样返回两个或多个值?

来源:百度知道 编辑:UC知道 时间:2024/06/15 22:34:00
在C++中,子函数要返回运算值,在不用指针或者数组(数组也相当于指针,因为返回的是数组的首地址)的情况下,一般都只能返回一个值。
不知道可否返回两个值?
比如return(a,b)
先谢谢啦

C++在不用指针或数组的情况下无法返回多个值,return 只能返回一个值,而且这个值是个数值(指针是内存地址,也是个数值)

想返回多个值,可采用以下方法:

一、通过函数参数返回

void max_min( int *a, int n, int *max, int *min ) //若想带回数据,返回的参数必须是指针类型
{
    int i;
    *min=*max=a[0];
    for( i=1;i<n;i++ )
    {
        if ( *min > a[i] ) *min=a[i];
        if ( *max < a[i] ) *max=a[i];
    }
}

二、通过指针或数组返回

int * max_min( int a, int n ) //返回的是一个数组的首地址,所以是int *
{
    static b[2];
    b[0]=b[1]=a[0];
    for( i=1