C递归练习不会显示输出

标签 c

这是我对递归的尝试。它编译并运行,但不显示我输入的数字的阶乘。我正在 Ubuntu 上使用 Geany 尝试此操作。

#include <stdio.h>

int fact(int n);
int main() {
    int n;
    printf("Give me a number");
    scanf("%6d", &n);
    fact(n);
}   

int fact(int n) {
    if (n <= 1)
        return 1;
    else
        return n * fact(n - 1);
}

最佳答案

您缺少打印语句。 您可以将结果保存在变量中,然后打印它。

printf("%d",fact(n));

关于C递归练习不会显示输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55092291/

相关文章:

无法计算 C 中插槽的回合数

c++ - 我将如何在进程的内存中搜索特定字符串?

c - 调用 execlp() 时为 "Bad Address"

c - C编程如何限制用户输入相同的用户名

c - 调试器如何从代码行中查找表达式

c - 没有库函数将单词从句子中分离出来

c - 无法将 shell 历史记录写入文本文件

c - 牛顿收敛法不起作用

c - 任何与 pthread_getcpuclockid 等效的函数,因为我有 Thread

c - 左移并在 C 中用 float 转换