首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C >> 關於C

C 語言遞迴反序輸出字元:經典教學範例

     編輯:關於C

題目

利用遞迴函式,將輸入的 5 個字元以相反順序列印。

程式碼

#include <stdio.h>

void palin(int n) {
    char current = getchar();
    if (n != 1) palin(n - 1);
    putchar(current);
}

int main(void) {
    palin(5);
    putchar('\n');
    return 0;
}

執行流程圖解

輸入 abcde 時:

  1. palin(5) 讀 'a' → 遞迴 palin(4)
  2. palin(4) 讀 'b' → 遞迴 palin(3)
  3. ... 直到 palin(1) 讀 'e' → 直接 putchar('e') 返回
  4. 回溯依序印出 'd' 'c' 'b' 'a'

輸出:edcba

核心概念

  • 遞迴「下潛」階段負責讀取並暫存字元(存在各層堆疊幀的 current 區域變數)。
  • 遞迴「回溯」階段依序列印,自然形成反序。
  • 終止條件 n == 1 避免多讀一個字元。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved