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

为什么不能这样写?求解

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

提问者:雪中人 2019-09-15 20:07

个回答

  • 幕布斯3403446
    2019-09-16 21:43:55
    已采纳

    #include <stdio.h>

    int main()

    {

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

        int x=(int)num;

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

        return 0;

    }

    讲义中的意思,num在执行完int x=(int)num;时,数值会变回2.5,所以这样返回,结果还是2.5,需要用另一个变量把转换结果带出来

  • 阿尔山人
    2019-09-15 21:02:56

    强制转换时对象名需更改