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

为什么会运行成功,输出错误?

#include <stdio.h>

int main()

{

    double num = 2.5;      

    int num1 = 2.5;//定义浮点型变量num并赋值为2.5

    printf("num的整数部分是%f\n", num); 

    printf("num的整数部分是%d\n", num1);

    return 0;

}


是我哪里弄错了吗?求大神在线~


提问者:LEONsd 2018-07-28 16:31

个回答

  • 增长黑客
    2018-09-26 18:19:24

    int是整数型呀  你不能变量初始化值为2.5 2.5不是整数啊  编译器肯定报错呀

  • 世如尘沙
    2018-08-07 19:30:40

    这个似乎只是编译器的要求比较严格吧,我在dev c++上试着编译,没有错误的


  • 星月浪子
    2018-07-30 23:39:14

      double num = 2.5;      

        int num1 = (int)num;//定义浮点型变量num并赋值为2.5

        printf("num的整数部分是%d\n", num1);

        return 0;


  • LEONsd
    2018-07-28 16:38:14

    搞定了。。。自问自答,哈哈哈

       double num = 2.5;      

        int num1 = (int)num;//定义浮点型变量num并赋值为2.5

        printf("num的整数部分是%f\n", num); 

        printf("num的整数部分是%d\n", num1);

        return 0;