🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# C 程序:使用递归查找 GCD > 原文: [https://www.programiz.com/c-programming/examples/hcf-recursion](https://www.programiz.com/c-programming/examples/hcf-recursion) #### 在此示例中,您将学习查找用户使用递归输入的两个正整数的 GCD(最大公约数)。 要理解此示例,您应该了解以下 [C 编程](/c-programming "C tutorial")主题: * [C 函数](/c-programming/c-functions) * [C 用户定义的函数](/c-programming/c-user-defined-functions) * [C 递归](/c-programming/c-recursion) * * * 该程序将两个正整数作为用户输入,并使用递归计算 GCD。 访问此页面以了解如何使用循环来[计算 GCD](https://www.programiz.com/c-programming/examples/hcf-gcd)。 * * * ## 使用递归的两个数的 GCD ```c #include <stdio.h> int hcf(int n1, int n2); int main() { int n1, n2; printf("Enter two positive integers: "); scanf("%d %d", &n1, &n2); printf("GCD of %d and %d is %d.", n1, n2, hcf(n1, n2)); return 0; } int hcf(int n1, int n2) { if (n2 != 0) return hcf(n2, n1 % n2); else return n1; } ``` **输出** ```c Enter two positive integers: 366 60 GCD of 366 and 60 is 6. ``` 在此程序中,进行递归调用,直到`n2`的值等于 0。