c - 如何获得递归算法(C)来打印步骤?

标签 c

尝试找出如何让此代码在运行表单检查时打印出其迭代。 C 语言新手,只是在研究我已经知道(无论如何应该知道)它们如何工作的事情时尝试了解它。这里是递归欧几里得算法。

int gcd(int a, int b) 
{
    if (b == 0) return a;
    else return gcd(b , a%b);
}

最佳答案

尝试以下操作

int gcd(int a, int b) 
{
    if (b == 0)
    {
        printf("%d\n",a);
        return a;
    }
    else 
    {
        printf("%d\n",b);
        return gcd(b , a%b);
    }
}

关于c - 如何获得递归算法(C)来打印步骤?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32322475/

相关文章:

c - C89 关于两个负数 : round up, 向下舍入或未定义的整数除法的行为是什么?

c - 使用 size_t 变量时循环没有结束

c++ - sprintf 中 Windows 与基于 Unix 的系统的舍入差异

c - 总和字节的 SSE 代码。错误在哪里?

c - 如何删除双向链表中的节点

c - 饱和减法 - AVX 或 SSE4.2

c - C 语言中的多堆栈程序在一定数量的故意溢出和最顶层自动删除后显示不正确的元素

尝试使用指向此指针的指针重新分配指针时崩溃

c - 段错误,我不知道为什么

c - c 中的字符串与 fgets 进行比较