为什么这个阶乘递归程序不起作用?
why does this recursive program for factorial not work?
下面是代码,请指出我错的地方。
我已经声明,定义了函数,我不知道哪里错了。
#include<stdio.h>
int factorial(int b); /* Declaration */
int main()
{
int num;
printf("Enter number: ");
scanf("%d", &num);
printf("%d",factorial(num));
return 0;
}
int factorial(int b) /*Function definition*/
{
return b*factorial(b-1);
}
您需要在某个时候结束递归:
int factorial(int b) /*Function definition*/
{
if (b == 0) return 1;
return b*factorial(b-1);
}
下面是代码,请指出我错的地方。 我已经声明,定义了函数,我不知道哪里错了。
#include<stdio.h>
int factorial(int b); /* Declaration */
int main()
{
int num;
printf("Enter number: ");
scanf("%d", &num);
printf("%d",factorial(num));
return 0;
}
int factorial(int b) /*Function definition*/
{
return b*factorial(b-1);
}
您需要在某个时候结束递归:
int factorial(int b) /*Function definition*/
{
if (b == 0) return 1;
return b*factorial(b-1);
}