#include <iostream>
using namespace std;
void function2 (int n);
void function1 (int n) {
if(n<=0) return;
function2 (n-2);
}
void function2 (int n){
if(n<=0) return;
functionl (n-1);
}
int main(){
function1(5);
return 0;
}
fun1和fun2都运行两次
流程如下:
fun1 第一次运行:function1(5) :n=5-2=3,function2(3);
fun2 第一次运行:function2(3) :n=3-1=2,function1(2);
fun1 第二次运行:function1(2) :n=2-2=0,function2(0);
fun2 第二次运行:function2(0) :n=0 return.
测试代码如下,使用全局变量func1t,func2t记录函数运行次数
#include <iostream>你的程序的function2中 function1 打成了functionl