突发奇想试一下死循环 ?#includeiostreamusing namespace stdvoid A()void B()int main(){A()B()re
突发奇想试一下死循环 ?
#include<iostream>
using namespace std;
void A();
void B();
int main()
{
A();
B();
return 0;
}
void A()
{
staticint i=0;
cout<<i<<"\t";
i+=2;
B();
}
void B()
{
static int j=1;
cout<<j<<"\t";
j+=2;
A();
}
为什么结果到6152就结束了???
[解决办法]
stack overflow
[解决办法]
一直在调用栈空间总会用完的,VS好像是会提示的,不确定!
[解决办法]
[解决办法]
这不叫循环,这是无出口的间接递归。
当函数调用耗尽栈内存的时候也就结束了。
另外你的B();执行不到因为A();就已经没有出口了。
[解决办法]
