C:从整数中减去double

vav*_*vav 5 c arithmetic-expressions

我有一个问题可能会为很多人节省大量的调试时间......

给定一个功能:

void my_func(double value)
Run Code Online (Sandbox Code Playgroud)

以下2个代码行之间有什么区别吗?

double my_value = 1 - value;
Run Code Online (Sandbox Code Playgroud)

double my_value = 1.0 - value;
Run Code Online (Sandbox Code Playgroud)

即鉴于value就是double,如果我用1 - value,我能感到安全,其结果将是正确的实数,使用时像1.0 - value

Dav*_*rtz 11

没有区别.要减去doubleint时,int必须被提升到一个double.我个人更喜欢使用,1.0因为我认为这更清楚,它不是整数减法.但这纯粹是一种风格问题.

  • 我认为“让它更清晰”是_**非常**重要_,因为_某人_稍后会看到“1 - 值”并感到困惑。另外,如果“double my_value = 1 - value;”位于“void my_func(double value)”函数声明下方,您可能需要回头看看“value”实际上是什么类型才能理解该语句。我_总是_使用“1.0 - 值”。 (2认同)