
c++如何在子函数中用主函数的变量
用c++写程序,在主函数中算出了好几十甚至上百个数(定义了一个200个数的数组,但是到底用到多少数是不确定的),这些数都要放到一个子函数中运算。由于输入的数比较多,没有办...
用c++写程序,在主函数中算出了好几十甚至上百个数(定义了一个200个数的数组,但是到底用到多少数是不确定的),这些数都要放到一个子函数中运算。由于输入的数比较多,没有办法在函数名的括号里面输入,请问有什么办法在不用全局变量的情况下做到吗。
展开
1个回答
展开全部
在子函数中写类似这种格式的参数
(int a[])
int为数组类型,a[]为数组名(可以不与主函数中数组名相同)。然后在主函数中调用子函数(数组名)就行了。
同时建议定义数组除迫不得已外尽量要定义在函数外,因为一个函数中局域变量过多容易造成栈溢出。
若仍有问题可以追问。
(int a[])
int为数组类型,a[]为数组名(可以不与主函数中数组名相同)。然后在主函数中调用子函数(数组名)就行了。
同时建议定义数组除迫不得已外尽量要定义在函数外,因为一个函数中局域变量过多容易造成栈溢出。
若仍有问题可以追问。
更多追问追答
追问
可是,定义那个子函数的时候,不是要把所有要输入的值全部写在括号里面吗,那要多少个int啊。。。你的意思是主函数里引用那个函数的时候用一个循环吗
追答
举个栗子吧,比如我要算n的阶乘n!并加记忆化以减少时间,代码如下
#include
#include
using namespace std;
long long f(long long a[20],int n){
return a[n] ? a[n] : n > n)
cout << f(a,n) << endl;
return 0;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |