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