嘿傢伙!我被分配了這個程序,它非常簡單,並且不需要很長時間就可以編寫代碼,但我無法運行它。沒有打印,我認爲這是因爲它進入了一個無限循環。只是尋找解決這個問題。家庭作業-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