为了账号安全,请及时绑定邮箱和手机立即绑定

程序中的问题

#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 回答

因为F(n-1)*n;

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

0 回复 有任何疑惑可以回复我~
#1

qq_六月天_0 提问者

非常感谢!
2016-03-17 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C语言入门
  • 参与学习       926018    人
  • 解答问题       20793    个

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

进入课程

程序中的问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信