C語言習(xí)題:遞歸實(shí)現(xiàn)依次打印出數(shù)字,你學(xué)會了嗎?
今天來分析一道非常經(jīng)典的遞歸題目:實(shí)現(xiàn)依次打印出數(shù)字中的每一位

代碼如下:
結(jié)果如下:

運(yùn)行順序
談到遞歸的時(shí)候,最重要的就是要弄明白它究竟是怎么運(yùn)行的
下面的方法非常直觀的表示了它的運(yùn)算順序
這里我用粘貼代碼塊的方式來展示
剛開始執(zhí)行的是scanf輸入,這里不再贅述
這一塊是我們遞歸的主體
看起來可能有點(diǎn)亂,在這基礎(chǔ)上加上一些箭頭就會清晰了

起初我的想法是,在進(jìn)行if判斷之后,會先執(zhí)行下面的printf,即先打印最后一位數(shù)8,再向前打印
實(shí)際上,if語句后的Print函數(shù)的嵌套調(diào)用是在下一行printf之前的、
也就是說它需要像圖中這樣完全調(diào)用完,直到if判斷為假后,才會從后往前運(yùn)行printf語句
這才有了最開始我貼的結(jié)果
程序依次打印了每一位的數(shù)字

如果這篇博客對你有幫助,還請點(diǎn)贊收藏支持一下!萬分感謝!
-----------------------------------
寫在最后:另外,對于準(zhǔn)備學(xué)習(xí)C/C++編程的小伙伴,如果你想更好的提升你的編程核心能力(內(nèi)功)不妨從現(xiàn)在開始!
微信公眾號:C語言編程學(xué)習(xí)基地
整理分享(多年學(xué)習(xí)的源碼、項(xiàng)目實(shí)戰(zhàn)視頻、項(xiàng)目筆記,基礎(chǔ)入門教程)
歡迎轉(zhuǎn)行和學(xué)習(xí)編程的伙伴,利用更多的資料學(xué)習(xí)成長比自己琢磨更快哦!
編程學(xué)習(xí)書籍分享:

粉絲編程交流:
