C Primer Plus中有一句话让我很难理解。
C将
float
类型值自动扩展为类型double
,当它们作为参数传递给任何函数时,例如printf()
。
我感到困惑,因为在以前的内容中,引入了多种数据类型,似乎通过使用适当的数据类型,您可以到达C程序最有效运行的位置。例如,在某些程序中,使用short
代替int
可能会导致更快的运行而不会产生任何功能。
因此,为什么float
在充当参数时会自动更改为double
?有人说用这种方式比较方便。但是,这种扩张是否符合C&C的哲学?