求fun1和fun2各运行几次

#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> 
using namespace std; 
int func1t=0,func2t=0;//定义两个全局变量记录函数运行次数
void function2 (int n); 
void function1 (int n)
 { 
func1t++;
if(n<=0) return; 
function2 (n-2); 

void function2 (int n)

func2t++;
if(n<=0) return; 
function1 (n-1); 

int main()

function1(5);
cout<<func1t<<endl;
cout<<func2t<<endl; 
return 0; 
}


你的程序的function2中 function1 打成了functionl

温馨提示:答案为网友推荐,仅供参考
相似回答