hehe,我觉得系统最后把d转换成了double类型的数据,不知道大家意见如何?

解决方案 »

  1.   

    上面的代码有明显的错误:
    1、浮点型数字默认为double,如要定义float浮点型,则如下定义;
        float b= 0.8f;
    2、a+b+c得到的是浮点型double值,也就是13.8
    3、将浮点型数值a+b+c赋值给整形d,需要强制类型转换;int d=(int)(a+b+c);int a=10;
    float b= 0.8f;
    double c= 3.0;
    int d=(int)(a+b+c);
      

  2.   

    很显然(int)13.8=13,系统输出13
      

  3.   


    to: yhlsyq1101(小叶) 
    你的解释很清楚,但运行的结果是14,而书上说结果是11。
      

  4.   

    抱歉,yhlsyq1101(小叶) ,你的结果是对的。