程序中的问题

来源:5-7 递归函数(一)

qq_六月天_0

2016-03-13 16:25

#include <stdio.h>

int F(int n)

{

 int R;

if(n<0)

{

printf("wrong!\n");

return 0;

}

else if(n==1||n==0)

{

printf("1\n");//为什么每次都会把这个“1”输出,即使n既不等于1也不等于0?

return 1;

}

else

{

R=F(n-1)*n;

}

return R;

}

int main()

{

int n;

printf("Please input:\n");

scanf("%d",&n);

printf("%d",F(n));

}


写回答 关注

1回答

  • night123
    2016-03-13 21:40:04
    已采纳

    因为F(n-1)*n;

    当n减到1时完成n的阶乘,同时输出1.

    qq_六月天...

    非常感谢!

    2016-03-17 13:25:00

    共 1 条回复 >

C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926028 学习 · 20793 问题

查看课程

相似问题