在线看黄色av网站-国外又粗又长又硬的性视频-刘亦菲国产一区二区三区在线观看-国产精品一区二区高清在线-日本放荡的熟妇在线-男男视频网站高清观看-韩国电影伦理韩国电影-日韩一区二区免费高清在线观看-欧美日韩亚洲一区二区在线

用遞歸將十進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制數(shù)

遞歸函數(shù)中,位于遞歸調(diào)用前、后的語(yǔ)句和各級(jí)被調(diào)用函數(shù)的執(zhí)行順序非常的詭異 。
每一次函數(shù)調(diào)用都會(huì)有一次返回.當(dāng)程序流執(zhí)行到某一級(jí)遞歸的結(jié)尾處時(shí) , 它會(huì)轉(zhuǎn)移到前一級(jí)遞歸繼續(xù)執(zhí)行 。遞歸函數(shù)中,位于遞歸調(diào)用前的語(yǔ)句和各級(jí)被調(diào)用函數(shù)具有相同的執(zhí)行順序 。遞歸函數(shù)中,位于遞歸調(diào)用后的語(yǔ)句的執(zhí)行順序和各個(gè)被調(diào)用函數(shù)的順序相反 。這里涉及的函數(shù)的調(diào)用與返回機(jī)制,遞歸函數(shù)的壓棧與出棧操作 。函數(shù)調(diào)用一次必定要返回一次,何時(shí)返回?返回的形式有兩種,一種是遇到return語(yǔ)句 , 一種是執(zhí)行到函數(shù)的最底部 。
直接看代碼:
#include<stdio.h>#include<stdlib.h>void decToBin(int n) { if (n > 0) { decToBin(n / 2); printf("%d ", n % 2); }}void main(){ decToBin(13); system("pause");}//輸出:1 1 0 1printf("%d ", n % 2);在整個(gè)程序中是一個(gè)什么樣的執(zhí)行順序?

用遞歸將十進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制數(shù)

文章插圖
總結(jié)一下:
遞歸分為兩個(gè)階段:遞推與遞歸(回歸),遞推時(shí),遞歸函數(shù)前的代碼被執(zhí)行,回歸時(shí) , 遞歸函數(shù)后的代碼被執(zhí)行 。
【用遞歸將十進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制數(shù)】-End-