问答详情
源自:2-9 强制类型转换

求大神告知

这样为什么不可以?

提问者:李丙子 2015-07-30 22:27

个回答

  • Perona
    2015-07-30 22:40:21
    已采纳

     num=(int)num

    第一忘了加;

    第二变量重新赋值是可以的,但是这里是强制转换成int型,但是变量本身是double,这样赋值会出错,就算重新定义数据类型,系统也不知道到底用哪种数据类型。

    建议一:直接在输出语句强制转换成int型

    #include <stdio.h>
    int main()
    {
        double num = 2.5;      //定义浮点型变量num并赋值为2.5
        printf("num的整数部分是%d\n",(int)num);  
        return 0;
    }

    建议二:定义一个int变量并且把强制转换的值赋给它

    #include <stdio.h>
    int main()
    {
        double num = 2.5;      //定义浮点型变量num并赋值为2.5
        int temp=(int)num;
        printf("num的整数部分是%d\n",temp);  
        return 0;
    }