/*ワンポイント p.44 関数の再帰呼び出し例 n!(階乗)を求める n! = n × n-1 × n-2 × … × 1 */ #include int kaijyou(int m) { int kai; if(m==0){ return 1; }else{ kai=m * kaijyou(m-1); printf("\t kai=%d\n",kai); return kai; } } void main() { int n, kai; for(;;){ printf("input (int)n: "); scanf("%d",&n); if(n<=13){ kai=kaijyou(n); printf("%dの階乗= %d\n",n,kai); }else{ printf("14以上はオーバーフロー\n"); } } }