Chinaunix首页 | 论坛 | 博客
  • 博客访问: 527384
  • 博文数量: 68
  • 博客积分: 2501
  • 博客等级: 大尉
  • 技术积分: 713
  • 用 户 组: 普通用户
  • 注册时间: 2009-12-07 17:49
个人简介

文章分类

全部博文(68)

分类: C/C++

2010-09-05 15:56:41

我们知道C/C++中的函数中使用return只能返回一个值。如果想一次返回多值,可以用参数引用。例如:

#include <iostream>
using namespace std;
int factor(int, int &, int &);

int main()
{
    int number,squared,cubed,error;
    cout<<"Enter a number (0~20):";
    cin>>number;
    error = factor(number, squared, cubed);
    if (error) { //出错处理
        cout<<"Errnor encountered!\n";
    } else { //输出计算结果
        cout<<"number:"<<number<<endl;
        cout<<"squared:"<<squared<<endl;
        cout<<"cubed:"<<cubed<<endl;
    }
    return 0;
}

int factor(int n, int & rsquared, int &rcubed)
{
    if (n>20 || n<0) { //检验输入值
        return 1;
    } else { //计算平方及立方值
        rsquared = n*n;
        rcubed = n*n*n;
        return 0;
    }
}

 
在函数factor中,引用返回了三个值。

阅读(2782) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~