遞歸的返回怎么理解 c語言中遞歸函數(shù)一定要有返回值嗎?
c語言中遞歸函數(shù)一定要有返回值嗎?不可能有返回值,返回值只是函數(shù)輸出的一個方法本質(zhì)上沒有區(qū)別,如果一定有區(qū)別,因為遞歸消耗的堆??臻g與遞歸深度相同。如果有返回值,堆棧空間將消耗更多的空間*返回值占用的
c語言中遞歸函數(shù)一定要有返回值嗎?
不可能有返回值,返回值只是函數(shù)輸出的一個方法
本質(zhì)上沒有區(qū)別,如果一定有區(qū)別,因為遞歸消耗的堆??臻g與遞歸深度相同。如果有返回值,堆??臻g將消耗更多的空間*返回值占用的深度。例如,對于100級遞歸,返回值是32位整數(shù),因此占用了3200位堆??臻g(請注意,占用的是堆棧空間,而不是內(nèi)存)。代碼堆??臻g非常寶貴)