我一直在考虑增加一个指针,但我想现在一般我不知道这两个操作/运算符之间的语义差异.例如,我的教授说如果你有一个[10]你不能说++指向下一个元素,但我从经验中知道a + 1确实有效.我问为什么,他说"a ++是一个动作而一个+ 1是一个表达".他的意思是"动作"是什么意思?如果有人能告诉我更多关于这个以及这两个操作之间的内在差异,我会非常感激.谢谢.
Sho*_*hoe 10
x ++和++ x
增量运算符x++
将修改并通常返回旧的副本x
.另一方面,前缀++x
仍然会修改,x
但会返回新的x
.
实际上x++
可以看作是一种:
{
int temp = x;
x = x + 1;
return temp;
}
Run Code Online (Sandbox Code Playgroud)
而++x
更像是:
{
x = x + 1;
return x;
}
Run Code Online (Sandbox Code Playgroud)
x + 1
该x+1
操作将只返回表达式的值,不会修改x
.它可以被视为:
{
return (x + 1);
}
Run Code Online (Sandbox Code Playgroud)