#include <stdio>
using std::cout;
void CountDown(int N) {
if(N == 0) {
return;
}
cout << N;
CountDown(N-1);
//return;
}
在代碼中,當返回被註釋時得到的輸出與未註釋時相同。使用return;在遞歸函數中
我想問的是,如果我在函數的末尾使用return;
語句(因爲它會隱式地返回到調用大括號末尾的函數),它是否會產生影響?
另一個問題: 如果在這裏有一個返回類型而不是void的函數怎麼辦? 我用一個函數試了一下。值錯了,但沒有編譯器錯誤。 所以簡單地使用return;
就沒有區別吧?除了當我想過早地結束功能?
將'return;'放在返回'void'的函數末尾是沒有區別的。這與遞歸無關,它總是如此。 –
嗯。在那個代碼中,最後一個'return;'永遠不會到達,不是嗎?但無論如何,這句話在「空白」功能中是沒有必要的。 – Tarod
請參閱[返回void函數的目的是什麼](http://stackoverflow.com/q/18638286/1708801) –