我最近开始学习C.在理解了基础知识后,我开始实现我学到的东西,所以我试图执行基本的数学运算,如add,substract等,但是dividion运算符不起作用。每当我给它两个不同的值时,答案是0.00000。 请帮我理解错误。这是我的代码。
#include<stdio.h>
void main()
{
int a,b,c,d,e;
float f = 0;
clrscr();
printf("enter the values of a, b\n");
scanf("%d %d", &a, &b);
c = a + b;
d = a - b;
e = a * b;
f = a / b;
printf("%d\n %d\n %d\n %f\n", c, d, e, f);
getch();
}
答案 0 :(得分:0)
你不能分割整数并期望得到浮点值,只需这样做
f = (float) a / (float) b;
当然要检查b != 0
。
自a
和b
整数以来,您只能期望结果为整数,将f
声明为float
将不会自动提供帮助。例如
1 / 2
等于0
,而
1.0 / 2 == 1 / 2.0 == 1.0 / 2.0 != 0