c语言求最大公约数辗转相除法,我写的为什么错,求解各位大佬了

#include <stdio.h>
int main()
{
    void gong(int x,int y);
    int n,m;
    scanf("%d,%d",&n,&m);
    gong(n,m);
    return 0;
}
void gong(int x,int y)
{
    int a,j=1;
    if(x<y)
    {
        a=x;
        x=y;
        y=a;
    }
    while(j!=0)
    {
        j=x%y;
        x=y;
        y=j;
    }
    printf("%d\n",x);
}

程序结果是

 

 

j没有赋初始值,会默认成0,导致while循环根本进不去。给j初始化一个只要不是0的值就可以了

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632