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

大神带我飞 2013-03-10 07:20:35


#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.
本人新新手,虔诚求教。。。
...全文
208 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
秃头披风侠 2013-03-11
  • 打赏
  • 举报
回复
r3没有赋值,导致除数是0
geekjack 2013-03-11
  • 打赏
  • 举报
回复
Integer Divide by Zero.
赵4老师 2013-03-11
  • 打赏
  • 举报
回复
单步调试和设断点调试是程序员必须掌握的技能之一。
大神带我飞 2013-03-11
  • 打赏
  • 举报
回复
[code=c] #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; } p3=(m3*n3);//p3应该在这里计算出,后面的循环破坏了原本的2个参数。方便后面用公式。 while(n3!=0) { r3=m3%n3; m3=n3; n3=r3; } //p3不能在这里计算。 printf("最大公约数:%d,最小公倍数:%d.",m3,p3/m3);/*p3为两数乘积,m3为两数最大公约数, 利用公式求出最小公倍数。*/ return 0; }[code] 看透了,那时候估计是饿晕了。。。谢谢楼上各位大神指点迷津啊。
AndyZhang 2013-03-10
  • 打赏
  • 举报
回复
r3==0咋办?
L_chxu 2013-03-10
  • 打赏
  • 举报
回复
修改下,被除数不能为0
L_chxu 2013-03-10
  • 打赏
  • 举报
回复

#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;
}
大神带我飞 2013-03-10
  • 打赏
  • 举报
回复

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧