两个函数实现求两个整数的最大公约数

img


请问一下各位程序员们我这么写代码为什么运行不起来,感谢各位程序员


#include﹤studio.h﹥

int zdgy(int m,int n)
{
    int r;

    while((r=m%n)!=0)
    {
    m=n;
    n=r;
    }

    return n;
}

int main()
{
    int x, y, z;
    scanf(''%d,%d", &x, &y);

    z=zdgy(x, y);
    printf("%d", z);
    return 0;
}

题主的代码错误较多,修改如下,供参考:

#include<stdio.h>
int zdgy(int x, int y)
{
    //比大小,确定被除数和除数 
    //x为被除数,y为除数 
    if (y > x)
    {
        int tmp = y;
        y = x;
        x = tmp;
    }
    //进行求余的判断
    if (x % y == 0)
        return y;
    else //递归    
        return zdgy(y, x % y);
}

int main()
{
    int m, n;
    printf("请输入两个数,用空格分隔:\n");
    scanf("%d %d", &m, &n);

    printf("%d\n", zdgy(m, n));
    return 0;
}

main里面int zdgy的int删掉