auの日記

プログラミング初心者の日記。(auはハンドルネームです)

再帰処理をして階乗のプログラムを作った

auです。
今回は再起呼出をして階乗のプログラムを作りました。
再起呼出とは、return を使って自身の関数をもう一度呼び出して処理をすることです。
今回のプログラムでは、nの階乗を計算する関数「factorial」を複数回呼び出して計算しています。

#include <stdio.h>

int factorial(int n) {
    if (n == 0) {
        return 1;
    } 
    return n * factorial(n - 1);
}

int main(void) {
    int n = 0;
    int result = 0;

    printf("数字: ");
    scanf("%d", &n);

    result = factorial(n);
    
    printf("%dの階乗の結果: %d\n", n, result);
    return 0;
}

// 実行結果
数字: 6
6の階乗の結果: 720