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

为什么这样运算结果是错的?%d不是取整吗?

#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("%d\n", result);
    return 0;
}


提问者:慕运维8329952 2019-07-22 10:37

个回答

  • Dreams乄深巷
    2019-08-05 18:04:58

    你赋值的时候result就是double类型,如果想要输出整形,需要在printf里进行强制转换(int)result

  • qq_慕标2117485
    2019-07-22 15:19:33

    你想输出整数的话要强制类型转换的   要不然前后类型不匹配啊

  • 小小疾飞
    2019-07-22 10:58:40

    但是你result定义的是double型呀,需要一一对应。

  • qq_慕桂英8257606
    2019-07-22 10:56:07

    请用“%f”,而不是“%d”,“result”变量定义的是double类型数据,而不是整型数据。