【经典算法】:如何在一个函数里面返回多个值的实现

60 篇文章 2 订阅

不要被标题党给忽悠的多么高端,我这里只想告诉大家一个非常简单的道理,非常简答 - -

用指针!

比如说在函数外定义了变量,然后传入该变量的地址,这样通过指针变换就能对该变量进行处理了,也就是变相的实现了给一个函数返回多个值

下面举个详细的例子:

#include <iostream>
using namespace std;
int ast(int a,int b,int *c,int *d){
    *c  = a+b;
    *d  = a-b;
    return a*b;
}
int main(){
    int a = 4,b = 3,c,d;
    cout<<ast(a,b,&c,&d)<<endl;
    cout<<c<<" "<<d<<endl;
}

在这个例子里面,a*b是函数返回值,然而c,d都已经进行了处理,因为给函数传的是c,d的地址,并且通过指针的方式对c,d地址的内容进行了处理,所以变成了该函数想要的形式。

附上程序结果截图:
这里写图片描述

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值