簡體   English   中英

這個function在c++中執行了多少次

[英]How many times is this function executed in c++

下面是一段c++代碼,試圖理解並找出function被調用了多少次。

#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) ,即1+(-1)+(-1)或只是-1

一個簡單的檢查方法是添加std::cout << “something\n”; 在 function 定義的第一行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM