如果您真的想遵循它,您可以但仔細地跟蹤您的調用堆棧。
main: fun(1)
main: fun(1): prints 1
main: fun(1): fun(2): prints 2
main: fun(1): fun(2): fun(3): prints 3
main: fun(1): fun(2): fun(3): fun(4) [1st call]: prints 4
main: fun(1): fun(2): fun(3): fun(4) [1st call]: returns 4
main: fun(1): fun(2): fun(3): fun(4) [2nd call]: prints 4
main: fun(1): fun(2): fun(3): fun(4) [2nd call]: returns 4
main: fun(1): fun(2): fun(3): fun(4) [3rd call]: prints 4
main: fun(1): fun(2): fun(3): fun(4) [3rd call]: returns 4
main: fun(1): fun(2): fun(3): returns 4
main: fun(1): fun(2): fun(4): returns 4
...
等等......它有點乏味。也許你可以通過減少'< 4'到'< 2'來簡化並且只需要兩次遞歸調用fun()
。那麼它會更容易遵循。
你在看什麼?輸出是什麼? –
你得到了什麼輸出,你期望什麼? –
輸出是什麼? –