//图1-2 一个递归函数#include<stdio.h>/* START: fig1_2.txt */intF(int X ){/* 1*/if( X ==0)/* 2*/return0;else/* 3*/return2*F( X -1)+ X * X;}/* END */main(){printf("F(5) = %d\n",F(5));return0;}
//图1-3 无终止递归函数#include<stdio.h>/* START: fig1_3.txt */intBad(unsignedint N ){/* 1*/if( N ==0)/* 2*/return0;else/* 3*/returnBad( N /3+1)+ N -1;}/* END */main(){printf("Bad is infinite recursion\n");return0;}
//图1-4打印正整数的递归例程#include<stdio.h>#define PrintDigit( Ch ) ( putchar( ( Ch ) + '0' ) )/* START: fig1_4.txt */voidPrintOut(unsignedint N )/* Print nonnegative N */{if( N >=10)PrintOut( N /10);PrintDigit( N %10);}/* END */main(){PrintOut(1369);putchar('\n');return0;}