为了账号安全,请及时绑定邮箱和手机立即绑定

为什么结果不是-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;
}


正在回答

2 回答

因为等号右侧的表达式 a / b - c * d 中的a b c d都是整型,整型间的加减乘除运算的结果还是整型,所以等号右侧的表达式的值还是整型,也就是不包含小数部分的。

那么虽然你的result是浮点型,但用整型来初始化它,它也是不会有小数部分的。

1 回复 有任何疑惑可以回复我~
#1

Drawlight 提问者

明白了,非常感谢!
2015-10-02 回复 有任何疑惑可以回复我~

把int a, b, c, d;改成float a, b, c, d;就可以了

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么结果不是-11.500000?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信