#include<iostream>
using namespace std;
void A();
void B();
void main()
{
A();
}
void A()
{
cout<<"函数a\n";
B();
}
void B()
{
cout<<"函数b\n";
A();
}
这个是我在c++6.0的环境下的程序,在范磊的c++视频里有这个例程,这个程序,看上去应该是a函数和b函数无限循环的调用,但是实际情况并非如此,程序运行的时候,确实能够互相调用,但是一会就会显示press any key to continue 然后一切就结束了,
我没明白 是什么原因中断了函数之间的循环调用,请帮忙解释一下
怎么修改才能让这种函数的调用更长一点或者无限循环下去呢?
我现在基本可以确定, afeihito和 RunZhi_Strif 的说法是正确的,我即将关闭问题,但是这个问题的延续,希望大家可以继续指点一下我,比如还是说,怎么在函数互相循环调用的时候不会退出之类的问题。
当然,创造一个循环然后不停的进出一个函数这个方法就不要再讲了
额.现在我也算大体了解了,我觉得你的说法比较靠谱,就是你的写法怎么看怎么是C语言……
无限递归都会被vc中断?假如是一个有意义的无限递归,有办法不让vc终止吗?
追答如果是有意义的无限递归,那么各个函数中的变量的值一定会有变化,否则肯定是无意义的无限递归,因为函数中的值一直没有变,它也就只能永不变换的递归下去。如果是循环的话,就不会有这个问题,死循环,VC都不会退出的,我记得是这样的,可能不准确。
追问#include
using namespace std;
void A();
void B();
int x;
void main()
{
A();
}
void A()
{
cout<<"函数a\n";
B();
}
void B()
{
static x;
x++;
cout<<x;
A();
}
这个应该算是有变化的递归调用了吧,但是还是不行,最后到6151次上就会终止,这样吧,哥们给个能够无限递归的例子,我好学习一下
按照你的说法,那么怎么才能够无尽的循环呢?