vc编译顺利,但是运行却出错了

vc编译成功,但是运行却出错了#includestdio.hint main(){printf(---------------------------3求最大公

vc编译成功,但是运行却出错了


#include<stdio.h>
int main()
{
printf("---------------------------3求最大公约数和最小公倍数-----------------------\n");
int n3,m3,temp3,r3,p3;
printf("please input two digits:");
scanf("%d,%d",&n3,&m3);
if (n3>m3)
{
temp3=m3;
m3=n3;
n3=temp3;
}
while(n3!=0)
{
r3=m3%n3;
m3=n3;
n3=r3;
}
p3=(m3*n3)/r3;
printf("最大公约数:%d,最小公倍数:%d.",r3,p3);
return 0;
}

编译成功了,用的Win7系统,Visual C++ 6.0平台,出现错误提示为0xC0000094:Integer Divide by Zero.
本人新新手,虔诚求教。。。 c 运行出错
[解决办法]

#include<stdio.h>
int main()
{
int n3,m3,temp3,r3,p3;

printf("---------------------------3求最大公约数和最小公倍数-----------------------\n");
printf("please input two digits:");
scanf("%d,%d",&n3,&m3);

if (n3>m3)
{
temp3=m3;
m3=n3;
n3=temp3;
}

while(n3!=0)
{
r3=m3%n3; //r3变为0了
m3=n3;
n3=r3;
}

p3=(m3*n3)/r3;//除数不能为0
printf("最大公约数:%d,最小公倍数:%d.",r3,p3);
return 0;
}

[解决办法]
r3==0咋办?
[解决办法]
单步调试和设断点调试是程序员必须掌握的技能之一。

[解决办法]
Integer Divide by Zero.
[解决办法]
r3没有赋值,导致除数是0