【经典算法】:如何在一个函数里面返回多个值的实现
2015-12-13 23:39
585 查看
不要被标题党给忽悠的多么高端,我这里只想告诉大家一个非常简单的道理,非常简答 - -
用指针!
比如说在函数外定义了变量,然后传入该变量的地址,这样通过指针变换就能对该变量进行处理了,也就是变相的实现了给一个函数返回多个值
下面举个详细的例子:
在这个例子里面,a*b是函数返回值,然而c,d都已经进行了处理,因为给函数传的是c,d的地址,并且通过指针的方式对c,d地址的内容进行了处理,所以变成了该函数想要的形式。
附上程序结果截图:
用指针!
比如说在函数外定义了变量,然后传入该变量的地址,这样通过指针变换就能对该变量进行处理了,也就是变相的实现了给一个函数返回多个值
下面举个详细的例子:
#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地址的内容进行了处理,所以变成了该函数想要的形式。
附上程序结果截图:
相关文章推荐
- Unable to load configuration struts在联网和没有网路情况下启动异常
- USACO天梯--Friday the Thirteenth
- c++_8: c++_内存模型
- 15 个常用的 SQL Server 高级语法
- 糯米团—重制“iPhone团购信息客户端”(四)
- 电脑键盘上你所不知道的秘密,学会了很牛气!
- JavaScript删除数组重复元素的5个高效算法
- ROS知识(9)----NodeHandle命令空间问题
- 逐步展示
- 字符串路径比较
- linux 下脚本查看带宽 (不需要安装其他工具包)
- 或许我的心理承受能力应该更加强些
- 真是好难过啊
- Xcode 打包APP上传是报-----ERROR ITMS-90535: "Unexpected CFBundleExecutable Key.
- java集合框架-转载
- 收集的35个 jQuery 小技巧/代码片段,可以帮你快速开发.
- 【转】mapreduce的shuffle过程
- 嵌入式驱动关于Makefile的编写例子
- Soot源码分析
- 《VB语言程序设计(第3版)》总结