嘿家伙!我被分配了这个程序,它非常简单,并且不需要很长时间就可以编写代码,但我无法运行它。没有打印,我认为这是因为它进入了一个无限循环。只是寻找解决这个问题。家庭作业-C编程 - 递归程序
分配:
编写和测试一个递归函数 ,返回 值以下递归定义:
f(x) = 0 if x <= 0 f(x- 1) + 2 otherwise
我的程序:
#include <stdio.h>
int main(void)
{
int n, x;
int factorial(int n) {
if (x <= 0) {
printf("x equals: ");
return 1;
} else {
return n * factorial(n - 1); //error here
}
f(x) = f(x - 1) + 2;
}
return 0;
}
这是一个窍门。它涉及到缩进代码,以使'{'和'}'内的项目前面有四(4)个额外的空格。如果您正确缩进代码,则可能会看到您创建的一些问题。 – 2011-06-02 01:50:15
在适当的地方随处添加printf并尝试调试。嗯,将阶乘移动到一个单独的方法将是一个很好的起点。 – CharithJ 2011-06-02 01:54:42
或者完全删除阶乘,因为它从未实际使用过。 – trutheality 2011-06-02 01:56:16