C语言源代码执行结果为0,是什么原因?

来源:百度知道 编辑:UC知道 时间:2024/06/30 13:57:53
#include "stdio.h"
#include "stdio.h"
main()
{
int a,b,num1,num2,temp;
printf("please input two numbers:\n");
scanf("%d,%d",&num1,&num2);
if(num1)
{
temp=num1;
num1=num2;
num2=temp;
}
a=num1;b=num2;
while(b!=0)
{
temp=a%b;
a=b;
b=temp;
}
printf("gongyueshu:\n",a);
printf("gongbeishu:\n",num1*num2/a);
}

printf("gongyueshu:\n",a);
printf("gongbeishu:\n",num1*num2/a);

改为:

printf("gongyueshu:%d\n",a);
printf("gongbeishu:%d\n",num1*num2/a);

两个错误
1. scanf("%d,%d",&num1,&num2);中间多了个逗号,两个&d连续写
2. printf("gongyueshu:\n",a); 无任何变量输出,修改按一楼
另外if(num1)估计是搞错了,if (num1<num2)?

同二楼,但是if(num1)没有错,
if(num1)表示if(num1!=0),防止除0错误,需保留。