输出的指代问题

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

Rudyhui

2016-02-03 01:41

为什么不可以这样子 int a =(int)num; int num = a; 就是先用另一个字符a代替,再将a代入到num中去呢

写回答 关注

1回答

  • 我是挂比
    2016-02-03 02:07:47
    已采纳

    应该是后面的不需要加上int去声明类型,同时你需要把下面的输出中的%d改成%f才能输出哦

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

    我刚刚试了一下 这样输出是有效的 也通过了验证

    我是挂比 回复Rudyhu...

    因为你是把num1的值赋予给了num,但num本身还是双精度型,没有改变num的类型,后面输出的是num所以要用%f的

    2016-02-03 02:16:50

    共 3 条回复 >

C语言入门

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

926028 学习 · 20793 问题

查看课程

相似问题