-1

我知道两者的值是相同的(比如 3 到 4)。但是,计算机是否将两者视为相同,它们是否都被视为表达式?

提前致谢!

4

3 回答 3

8

两者都是肯定的,除了(value++)评估为旧值,而(value = value + 1)评估为新值。表达式内
的直接等价物是。(value = value + 1)(++value)

请注意,它们都不是线程安全的。

为了增加乐趣,这里还有两个等效的选项:

value += 1;
value -= -1;
于 2014-01-15T17:44:19.053 回答
2

这是不正确的。相反,++value 与 value=value+1 相同。

++Value 是一个预增量。Value++ 是一个后增量。

'Post' 表示之后 - 即在读取变量后完成增量。'Pre' 表示之前 - 因此变量值首先递增,然后在表达式中使用。

例如:

int i, x;

i = 2;
x = ++i;
// now i = 3, x = 3

i = 2;
x = i++; 
// now i = 3, x = 2
于 2014-01-15T17:50:46.740 回答
0

不,我的朋友 ++value 相当于 value=value+1 因为它正在更改新的值预增量运算符,而 value++ 正在更改保存在内存中的旧值,即后递增它

于 2014-01-15T17:48:37.587 回答