这个程序是分别求最大公约数x和最小公倍数y.y为什么总是输出0,

#include
#include
int main ( void )
{
int m,n,x,y;//x是最大公约数 y是最大公倍数//
printf("please enter two number:");
scanf("%d %d",&m,&n);
if(m
{
x=m;
m=n;
n=x;
}
while (n!=0)
{
x=n;
n=m%n;
m=x;
}
y=m*n/x;
printf("%d %d",x,y);

}

img

img

你循环的结果是 n=0,y=m乘n/x; 可不就是0么

img