開發-CPP配備了一個示例程序困境,它在它GetResults功能:遞歸用戶輸入 - 優雅還是奇怪?
void
GetResults()
{
.
.
.
else if (i>j)
{
cout << "Too BIG\n";
life = life - 1; // -1 to the user's "life"
cout << "Number of remaining life: " << life << "\n\n";
GetResults();
}
這是反覆要求用戶輸入一個優雅的方式?當然,它比使用do-while
循環包裝~20條線更具可讀性。我傾向於喜歡它,但我不經常看到這樣的事情,所以我不確定。你怎麼看?
編輯:在你的榜樣,遞歸深度是由生命的數量阻止,使看起來不錯,因爲這不會得到大於1000,甚至100 - 這就是爲什麼我已經考慮過,但現在我可以看到這是一個相當愚蠢的想法:)我不知道誰把這個在示例程序 ...
感謝您的輸入的傢伙!