为什么C作为参数传递时会自动将类型float值扩展为double类型?

时间:2016-12-22 13:00:08

标签: c

C Primer Plus中有一句话让我很难理解。

  

C将float类型值自动扩展为类型double,当它们作为参数传递给任何函数时,例如printf()

我感到困惑,因为在以前的内容中,引入了多种数据类型,似乎通过使用适当的数据类型,您可以到达C程序最有效运行的位置。例如,在某些程序中,使用short代替int可能会导致更快的运行而不会产生任何功能。

因此,为什么float在充当参数时会自动更改为double?有人说用这种方式比较方便。但是,这种扩张是否符合C&C的哲学?

0 个答案:

没有答案