请问这两者的区别?

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

Drawlight

2015-09-26 20:17

double a = 2.5;
int b = (int)a;

double a =2.5;
int b = int a;
这二者有什么区别吗?输出结果好像是一样的。

写回答 关注

1回答

  • onemoo
    2015-09-26 20:57:10
    已采纳

    你确定都有输出吗!? 后面的写法可是不合法的!

    double a = 2.5;  a是个浮点型变量,初值为2.5。

    int b = a 和 int b = (int)a 都是定义了一个int型变量b,并且用a来初始化。这两种写法都正确,在赋值(初始化)时两侧变量类型不一致的话,等号右侧的值的类型会临时转换为等号左侧的类型,所以有没有写上强制类型转换都一样,b的初值都是2。

    int b = int a 这语句是不合语法的,不能在a前再直接加上int。

    Drawli...

    明白了,非常感谢!

    2015-10-02 16:44:34

    共 1 条回复 >

C语言入门

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

926209 学习 · 20797 问题

查看课程

相似问题