為什么結果不是-11.500000?
#include?<stdio.h>
int?main()
{
????int?a,b,c,d;
????double?result;
????a?=?1;
????b?=?2;
????c?=?3;
????d?=?4;
????result?=?a/b-c*d;
????printf("%f\n",?result);
????return?0;
}#include?<stdio.h>
int?main()
{
????int?a,b,c,d;
????double?result;
????a?=?1;
????b?=?2;
????c?=?3;
????d?=?4;
????result?=?a/b-c*d;
????printf("%f\n",?result);
????return?0;
}2015-09-26
舉報
2015-09-26
因為等號右側的表達式 a / b - c * d 中的a b c d都是整型,整型間的加減乘除運算的結果還是整型,所以等號右側的表達式的值還是整型,也就是不包含小數部分的。
那么雖然你的result是浮點型,但用整型來初始化它,它也是不會有小數部分的。
2015-12-03
把int a, b, c, d;改成float a, b, c, d;就可以了