对于书上知识点的疑惑

书上说float修饰的值必须加f/F修饰,但实际上怎么加不加不会影响最后结果

img


原因是C语言会默认小数为 double 类型,所以造成的加与不加结果都一样。
但我们需要 float,就需要加上f/F修饰符后编译器会强制将数字转换为float类型

1.1f指定它是一个float型的浮点数常量
而1.1是一个double型的常量
在执行float a=1.1的时候,会执行隐式转换将double转成float
你换一组代码测试,结果就完全不同了
float a=1/10;//结果为0,因为是整型除法
float b=1f/10;//结果为0.1,因为指定了分子是个float型

不加在c语言中会报错,在c++中不会报错