為什么結果不是-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;就可以了