C语言 编写一个函数,用递归模式求最大公约数

C语言 编写一个函数,用递归方式求最大公约数。

编写一个函数,传入a,b两个int类型的变量,返回两个值的最大公约数。利用递归方式实现。

#include <stdio.h>
int gcd(int a,int b)
{
    int tmp;
    if(a==0 || b==0)
        return 0;
    if(a<b)
    {
        tmp=a;
        a=b;
        b=tmp;
    }
    if(a%b==0)
        return b;
    else
        return gcd(b,a%b);
}
int main()
{
    int num;
    num=gcd(12,4);
    printf("%d",num);
    return 0;
}

C语言 编写一个函数,用递归模式求最大公约数