精品久久久久久久久水蜜桃|丁香花五月|新中文字幕麻豆视频|美女下面粉嫩粉嫩冒白浆高清|日本黄h兄妹h动漫一区二区三区|床片激情免费视频|羞羞动漫在线入口免费阅读

用遞歸將十進制數轉換為二進制數

遞歸函數中,位于遞歸調用前、后的語句和各級被調用函數的執行順序非常的詭異 。
每一次函數調用都會有一次返回.當程序流執行到某一級遞歸的結尾處時 , 它會轉移到前一級遞歸繼續執行 。遞歸函數中,位于遞歸調用前的語句和各級被調用函數具有相同的執行順序 。遞歸函數中,位于遞歸調用后的語句的執行順序和各個被調用函數的順序相反 。這里涉及的函數的調用與返回機制,遞歸函數的壓棧與出棧操作 。函數調用一次必定要返回一次,何時返回?返回的形式有兩種,一種是遇到return語句 , 一種是執行到函數的最底部 。
直接看代碼:
#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);在整個程序中是一個什么樣的執行順序?

用遞歸將十進制數轉換為二進制數

文章插圖
總結一下:
遞歸分為兩個階段:遞推與遞歸(回歸),遞推時,遞歸函數前的代碼被執行,回歸時 , 遞歸函數后的代碼被執行 。
【用遞歸將十進制數轉換為二進制數】-End-