开发者社区> 问答> 正文

C语言中int a=46. 如何理解?

最近看到教材上这样写:

int a=46.
我想问一下如何理解该用法,是不是将float型隐式转换成int型?
同时呢,这种用法有相应的应用么?

展开
收起
a123456678 2016-06-03 18:49:26 2133 0
1 条回答
写回答
取消 提交回答
  • 这种转换应用不多...反而有点不简化。如:

    int i
    ...
    i = i + 9.8
    按照隐式处理方式,在处理 i=i+9.8 时,首先 i 转换为 double 型,然后进行相加,结果为 double 型,再将 double 型转换为整型赋给 i。
    
    int i
    ...
    i = i + (int)9.8
    这时直接将9.8转换成整型,然后与 i 相加,再把结果赋给 i。这样可把二次转换简化为一次转换。
    
    数据类型转换包括隐式类型转换和显式(强制)类型转换。隐式类型转换就是在编译时由编译程序按照一定规则自动完成,而不需人为干预。因此,在表达式中如果有不同类型的数据参与同一运算时,编译器就在编译时自动按照规定的规则将其转换为相同的数据类型。具体隐式转换规则还是需要看标准文档。btw,float么,好像是double...
    2019-07-17 19:27:05
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载

相关实验场景

更多