为什么结果不是-11.500000?

来源:3-1 运算符号是啥

Drawlight

2015-09-26 20:32

#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回答

  • onemoo
    2015-09-26 21:01:00
    已采纳

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

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

    Drawli...

    明白了,非常感谢!

    2015-10-02 16:43:31

    共 1 条回复 >

  • twofoolish
    2015-12-03 16:35:50

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

C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926207 学习 · 20797 问题

查看课程

相似问题