C语言基础教程(五)函数(7)

  •   2009-07-10/10:22
  •   2.3 函数的递归调用
    Turbo C2.0允许函数自己调用自己,即函数的递归调用,递归调用可以使程序简洁、代码紧凑,但要牺牲内存空间作处理时的堆栈。
    如要求一个n!(n的阶乘)的值可用下面递归调用:
    例8:
    #include<stdio.h>
    unsigned ling mul(int n);
    int main()
    {
    int m;
    puts("Calculate n! n=?\n");
    scanf("%d", &m); /*键盘输入数据*/
    printf("%d!=%ld\n", m, mul(m));/*调用子程序计算并输出*/
    getch();
    retun 0;
    }
    unsigned long mul(int n)
    {
    unsigned long p;
    if(n>1)
    p=n*mul(n-1); /*递归调用计算n!*/
    else
    p=1L;
    return(p); /*返回结果*/
    }
    运行结果:
    calculate n! n=?
    输入5时结果为:
    5!=120

    评论 {{userinfo.comments}}

    {{money}}

    {{question.question}}

    A {{question.A}}
    B {{question.B}}
    C {{question.C}}
    D {{question.D}}
    提交

    驱动号 更多