用++和计算顺序计算总和

时间:2018-05-18 14:07:12

标签: c#

我在下面有这段代码。描述总和为0是否正确,因为sum++将被忽略,因为sum +=的赋值将在增加值之前加0?或者如何最好地描述?我的意思是如果我使用sum += sum + 1,结果会有所不同。

int sum = 0;
for (int i = 0; i < 10; i++)
{
   sum += sum++;
}

// Sum has end value 0

1 个答案:

答案 0 :(得分:1)

sum++会增加该值,但会在增加之前返回之前的值。 ++sum也会增加该值,但在递增后返回值

您可以将sum++视为返回值,然后提高价值(即使这不是发生的事情)

并且您认为++sum增加了值然后返回它。

因此,sum += ++sum sum += sum + 1相同,只要最终结果如此。

在您的示例中,sum++返回零,sum设置为两个1,但之后您将其设置回0并重复。