问答详情
源自:3-1 运算符号是啥

为什么int类型里a+b-c+d=0.000000

#include <stdio.h>

int main()

{

    int a,b,c,d;

    int result;

    a = 1;

    b = 2;

    c = 3;

    d = 4;

    result = a + b - c  +d;    //在这里体验哦~

    printf("%f\n", result);

    return 0;

}


提问者:小白要逆袭 2015-06-24 10:55

个回答

  • 小白要逆袭
    2015-07-20 10:56:12

    谢谢啦



  • 零宸
    2015-06-24 11:44:32

    首先,result的结果肯定是4。

    然后问题出现在printf里面,result是int类型的,在printf里使用%f输出,但是printf是不会做类型转换的,所以这里的结果是不可预知的,至于为什么显示0.000000也不太清楚,做一个强制类型转换就OK了:printf("%f\n", (float)result);