下面是代码,请准确指出我错在哪里。 我已经宣布,定义了这个功能,我不知道出了什么问题。
#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);
}
答案 0 :(得分:5)
你需要在某个时候结束递归:
int factorial(int b) /*Function definition*/
{
if (b == 0) return 1;
return b*factorial(b-1);
}