上の例題2-1のprintdを再帰的に表現した物が以下のプログラムです。このプログラムでは10で割った商に対して関数を再帰的に適用し、そのあと最後の桁を出力しています。<プログラムリスト>
#include <stdio.h> void printd(int num); int main(void){ int num; scanf("%d", &num); # 数列の読み込み printd(num); putchar('\n'); } void printd(int num){ int i; if (num < 0) { putchar('-'); num = -num; } i = num / 10; if (i != 0){ printd(i); } putchar(num % 10 + '0'); }2002年12月18日 11:43 更新