C语言float的使用

img


这里的0.0f是什么意思 为什么我单纯的定义float b,c,d;代码无法运行?

0.0f就是float型的0.0,也可以直接写0,没区别。
你的scanf里有分号和逗号,输入的时候也必须有分号逗号,格式要完全一致才行
这里初始化赋值没有意义,你检查是不是逗号用了中文全角逗号导致语法错误

写成0.0f,是确保给float变量初始化的是float类型的0值,如果写成0.0,实际还进行double向float的类型转换。

你提供的图中错误是因为几个%f之间你输入使用的是分号,但是代码中却用的逗号!这里必须使用相同的符号才可以,你要统一

  浮点型数可以用floatdouble来表示,0.0f表示一个单精度浮点数,值为0.0,而0.0表示一个双精度浮点数,值也为0.0。如果不加f,则默认为双精度浮点数。定义b,c,d为0.0f另一个意思也是赋值为0.0,若只定义不赋值则无确定的值无法打印