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

为什么结果等于3

#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;

}


提问者:精慕门7364706 2019-07-19 08:34

个回答

  • 慕村1179409
    2019-07-19 09:20:37
    已采纳

    c/d=3/4,c和d都是int型,算出来虽然结果是零点几,但结果依然为int型,所以等于0。1+2+0=3

  • 小小疾飞
    2019-07-19 09:43:53

    result = a+  b  +c /d;  赋值符号优先级比较低。先进行运算。整形运算c/d==0,所以右边等于3。result是双精度,所以发生隐式转换,结果为3.000000。