递归调用的次数限制

本文介绍了一种测试递归调用限制的方法,并提供了一个具体的示例代码。该代码通过不断递归调用来测试编译器或运行环境的栈空间大小,默认情况下Visual Studio的栈空间为1M,可以通过配置进行修改。

递归调用的次数受到程序堆栈大小的限制,以下代码可以进行测试。

 

void TestRecur()
{
 int a[1024];    //在栈上分配

 static int count = 0;

 cout << count << " " << flush;
 count++;

 

 if(count < 1000)
 {
  __try
  {
   TestRecur();
  }
  __except(1)
  {
   cout << "/nerror code: " << _exception_code();
   exit(1);
  }
 }

}

 

int main()

{

 TestRecur();

}

 

VisualStudio默认的栈空间是1M,可以更改默认栈空间:

项目-》属性-》配置属性-》链接器-》系统-》堆栈保留大小

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值