C语言 定义int i=8 为什么表达式y=float(i)是正确的
答案:6 悬赏:70 手机版
解决时间 2021-04-19 17:25
- 提问者网友:蓝莓格格巫
- 2021-04-19 09:46
C语言 定义int i=8 为什么表达式y=float(i)是正确的
最佳答案
- 五星知识达人网友:骨子里都是戏
- 2021-04-19 10:54
这是C语言里的强制转换,明确要求编译器把数值从一种数据类型转换为另一种数据类型,这就是强制转换,也叫做显示转换.
把8转变成float类型,就变成了8.0,这是允许的. 当然反过来转换也是允许的,但很有可能造成数据丢失,比如float类型的8.2转成int类型,就会变成8,那么0.2就丢失了.
把8转变成float类型,就变成了8.0,这是允许的. 当然反过来转换也是允许的,但很有可能造成数据丢失,比如float类型的8.2转成int类型,就会变成8,那么0.2就丢失了.
全部回答
- 1楼网友:雪起风沙痕
- 2021-04-19 16:06
引用zj5815的回答:
这是C语言里的强制转换,明确要求编译器把数值从一种数据类型转换为另一种数据类型,这就是强制转换,也叫做显示转换.
把8转变成float类型,就变成了8.0,这是允许的. 当然反过来转换也是允许的,但很有可能造成数据丢失,比如float类型的8.2转成int类型,就会变成8,那么0.2就丢失了.错了吧,强制转化是(float) 8,不能写曾成float (8),而且这个表达式是错的,为什么会是对的,奇怪
这是C语言里的强制转换,明确要求编译器把数值从一种数据类型转换为另一种数据类型,这就是强制转换,也叫做显示转换.
把8转变成float类型,就变成了8.0,这是允许的. 当然反过来转换也是允许的,但很有可能造成数据丢失,比如float类型的8.2转成int类型,就会变成8,那么0.2就丢失了.错了吧,强制转化是(float) 8,不能写曾成float (8),而且这个表达式是错的,为什么会是对的,奇怪
- 2楼网友:詩光轨車
- 2021-04-19 15:01
强制类型转换。
如果y是float型的 y=i这个也是正确的。
如果y是float型的 y=i这个也是正确的。
- 3楼网友:上分大魔王
- 2021-04-19 13:32
兼容
- 4楼网友:躲不过心动
- 2021-04-19 12:32
类型转换啊
- 5楼网友:大漠
- 2021-04-19 11:50
类型转换,不过精度高的向精度低的转换会造成精度丢失
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯