这么编怎么不对

来源:2-9 强制类型转换

景逸Y

2015-01-31 22:12

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

    num=(int)num;

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

    return 0;

}


写回答 关注

1回答

  • yinzm
    2015-01-31 23:14:28

    你的num是double的,所以num=(int)num,这样赋值完之后,num仍然是double型的,而且此时num=2.0。你最后输出不能用%d,%d代表的是int型的。

    如果你想改,可以这样写:

    double num=2.5;
    int num1=(int)num;
    printf("%d\n",num1);

    或者这样:

    double num=2.5;
    num=(int)num;
    printf("%.0lf\n",num);//%.0lf代表输出的是double型的,并且小数点后保留零位小数(即只是整数部分)


    yinzm 回复业余新手

    我刚两种方法都试过了,能通过的。

    2015-04-24 19:19:15

    共 3 条回复 >

C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926210 学习 · 20797 问题

查看课程

相似问题