黑马程序员技术交流社区

标题: 复习一下,上个改错题,来做做 [打印本页]

作者: P@sser-by    时间: 2015-3-9 12:31
标题: 复习一下,上个改错题,来做做
/*
改错题:
用递归方法求n的阶乘。
*/
#include<stdio.h>
int mul(int m);
int main()
{
    int n = 0;
    while (n <= 0)
    {
        printf("请输入一个正整数:\n");
        scanf("%d",&n);
    }
    printf("%d的阶乘结果是:%d\n",n,mul(n));
       return 0;
}
int mul(int m)
{
    int p;
    p = m*mul(m-1);
    return p;
}



QQ图片20150309122030.jpg (17.67 KB, 下载次数: 22)

QQ图片20150309122030.jpg

作者: 皮特尔    时间: 2015-3-9 13:25
  1. #include<stdio.h>
  2. int mul(int m);
  3. int main()
  4. {
  5.     int n = 0;
  6.     while (n <= 0)
  7.     {
  8.         printf("请输入一个正整数:\n");
  9.         scanf("%d", &n);
  10.     }
  11.     printf("%d的阶乘结果是:%d\n", n, mul(n));
  12.     return 0;
  13. }
  14. int mul(int m)
  15. {
  16.         if (0 == m)
  17.                 return 1;
  18.     return m * mul(m-1);
  19. }
复制代码

作者: P@sser-by    时间: 2015-3-9 13:32
皮特尔 发表于 2015-3-9 13:25

Yes,you are right !
作者: chaoren    时间: 2015-3-9 14:06
楼上可用
作者: still过客    时间: 2015-3-9 14:25
缺少递归函数的出口。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2