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

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

到底是哪里错了

提问者:慕粉2153037710 2016-12-04 17:20

个回答

  • G_Felix
    2016-12-05 13:40:54
    已采纳

    你用强制转换之后,并没有改变原来的值,而是把强制转换得来的值赋给了Num,所以Num的值是2,你在输出语句中应该输出Num的值。

  • 亖 楽
    2016-12-04 18:11:01

    num的值并没有改变,还是2.5,NUM的值才是2。所以你用%d输出num会出错。

  • Joker4110332
    2016-12-04 17:40:33

    #include<stdio.h>
    int main()
    {
        double num=2.5;
        int Num=(int)num;
        printf("num的整数部分是%d\n",Num);
        return 0;
    }


  • qq_忘我_4
    2016-12-04 17:39:06

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