我有一个关于C语言浮点常量的问题。
在Java中,浮点数常量的默认类型是double,因此以下代码将导致编译错误:
float f = 100.0; // we either need to uses type case operator or put f at the end of the number constant.
这是因为默认的浮点常量类型为double,而在没有类型转换运算符的情况下从double向float进行强制转换是错误的,所以我们需要添加类型转换运算符或在数字末尾加上f。
那么,在C语言中为什么不会产生错误呢?是因为默认的浮点常量类型为float,还是因为编译器进行了隐式的向下转换(在C语言中不需要类型转换运算符)?