以下代码是求最大公约数和最小公倍数,为什么将printf("%d %d\n", b, n/b);中的b换为x,在PTA中会显示浮点错误? b与x不是一个数吗? 求解

以下代码是求最大公约数和最小公倍数,为什么将printf(

问题描述:

int a, b;
int n;
int x;
scanf("%d %d", &a, &b);
n=a*b;
for ( ; a%b!=0; )
{
    x=a%b;
    a=b;
    b=x;
}
printf("%d %d\n", b, n/b);
return 0;

}

不一定呀

x定义那个变量都是紫的,你没重新修改一下嘛