c语言程序运行以后出现Program received signal SIGFPE. Arithmetic exception
本帖最后由 Vllin 于 2021-5-13 22:09 编辑#include<stdio.h>
int main()
{
int a,b,c,d,e;
scanf("%d",&a);
scanf("%d",&b);
c=b;e=a;
while((a%b)!=0)
{a=b;
b=(a%b);}
d=(e*c/b);
printf("%d",b);
printf("%d",d);
return 0;
}
程序如上但是感觉没有问题啊 解释再注释中
#include<stdio.h>
int main()
{
int a,b,c,d,e;
scanf("%d",&a);
scanf("%d",&b);
c=b;e=a;
while((a%b)!=0)
{
a=b;//b给a
b=(a%b);//a%b--》b必为0--》b为0了导致除数为0了--》导致如果输入的a%b能被整除程序没问题,
//不能整除是有问题的-》什么也不输出我这里是
}
d=(e*c/b);
printf("%d",b);
printf("%d",d);
return 0;
}
运行图如下:
请问你想要实现什么效果呢 肖-肖 发表于 2021-5-13 22:28
解释再注释中
运行图如下:
这个程序是想要求a 与b的最大公约数和最小公倍数 Vllin 发表于 2021-5-13 22:45
这个程序是想要求a 与b的最大公约数和最小公倍数
a%b不应该是取他的余数么那我判断他不为0的时候就将余数赋值给b,将b的值赋值给a循环求出余数为零的那个值输出 Vllin 发表于 2021-5-13 22:47
a%b不应该是取他的余数么那我判断他不为0的时候就将余数赋值给b,将b的值赋值给a循环求出余数为零的那个 ...
主要是不明白为什么b一定是0 Vllin 发表于 2021-5-13 22:48
主要是不明白为什么b一定是0
哦,我懂了a的值变了
困扰我半天的问题了,真的是谢谢谢谢谢谢{:5_92:} Vllin 发表于 2021-5-13 22:56
哦,我懂了a的值变了
困扰我半天的问题了,真的是谢谢谢谢谢谢
嗯 解决了的话设置下最佳答案吧
页:
[1]