首页 > 用户发贴区 > 编程问题提问区 > 函数调用的问题
2008
08-10

以下程序的运行结果是


#include”stdio.h”


main()


{printf(“FACT(5):%d\n”,fact(5));


printf(“FACT(1):%d\n”,fact(1));


fact(-5);


}


fact(int value)


{ if (value<0) {printf(“FACT(-1):Error!\n”);reurun(-1);


else if(value==1)||value==0) return(1);


else return(value*fact(value-1));    怎么得出的结果希望能告诉的详细一点儿哦


函数调用的问题》有 1 条评论

  1. TONYAZITEN 说:

    你这段代码实在是不完整,自己运行一下就知道了。撇开这个不说,这段代码是用递归函数fact()来求阶乘,在fact()内部依然存在fact(),这样的话只要条件满足要求,它就会一直进行下去。代码value*fact(value-1)就是核心部分,每一遍运算value就会减1,形成阶乘。新手回帖还请多指教。

留下一个回复