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

C語言練習實例27:遞歸函數逆序輸入5字符

     編輯:C 語言實例練習

C語言練習實例27:遞歸函數逆序輸入5字符

本實例利用遞歸調用棧的後進先出特性,將輸入的 5 個字符逆序輸出。

源代碼

// Created by www.runoob.com on 15/11/9.
// Copyright © 2015年 菜鳥教程. All rights reserved.
//
#include <stdio.h>

int main() {
    int i = 5;
    void palin(int n);
    printf("請輸入5個字符 : ");
    palin(i);
    printf("\n");
}

void palin(int n) {
    char next;
    if (n <= 1) {
        next = getchar();
        printf("相反順序輸出結果 : ");
        putchar(next);
    } else {
        next = getchar();
        palin(n-1);
        putchar(next);
    }
}

運行示例

請輸入5個字符 : abcde
相反順序輸出結果 : edcba

原理

遞歸下層先讀取字符,返回時按相反順序打印,利用系統棧天然實現逆序。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved