简单的递归问题

Geo*_*rge 1 c recursion factorial

这段代码给出了给定数字的计算阶乘的每个步骤结果,但我只想要最终的.

#include <stdio.h>

long int factorial(int n) {
  if (n <= 1)
    return(1);
  else
    n = n * factorial(n - 1);
  printf("%d\n", n);
  return(n);
}

main() {
  int n;
  printf("Enter n: ");
  scanf("%d", &n);

  //function call
  factorial(n);
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

cni*_*tar 5

这个怎么样 ?

int final;

final = factorial(n);
printf("%d! = %d\n", n, final);
Run Code Online (Sandbox Code Playgroud)

并停止使用printffactorial功能.