本實例利用遞歸調用棧的後進先出特性,將輸入的 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
遞歸下層先讀取字符,返回時按相反順序打印,利用系統棧天然實現逆序。