c++ - 这个函数在c++中执行了多少次
问题描述
这是一段 c++ 代码,试图了解并找出该函数被调用了多少次。
#include <iostream>
int func(int j){
if (j <= 0) return -1;
if (j == 1) return 1;
return func(j/2) + func(j-4);
}
int main(){
func(4);
}
解决方案
func(4)
将被评估为 func(2)+func(0)
。
func(2)
反过来将被评估为func(1)+func(-2)
。总共,您将调用func(4)
, func(2)
, func(1)
, func(-2)
, func(0)
( 5次)。结果表达式将为func(1)+func(-2)+func(0)
,即 is1+(-1)+(-1)
或 just -1
。
一种简单的检查方法是std::cout << “something\n”;
在函数定义的第一行添加。
推荐阅读
- python - 如何根据两个不同列的值在一列中填充 NaN
- wordpress - Httpd 只允许访问直接在 /var/www/html 文件夹中创建的文件
- android - 将 Java 位图打包到 ByteBuffer 中 - 字节顺序与像素格式和字节序不匹配(ARM)
- python - Django Tables 2过滤字段,但使用显示名称?
- python - 在 Pandas groupby 操作之后组合一组中的两列
- android - 我的布局有问题,我需要在底部
- node.js - 标头中缺少用于存储 cookie expressjs 的身份验证字段
- angular - 如何在Angular中重复一个div N次
- c - 断言在字符串数组比较中失败
- c# - 如何从控制类和抽象类继承?