有人可以告诉我前缀/后缀运算符是如何工作的吗?我一直在网上寻找很多东西,但是什么也没找到。
据我所知,prefex首先递增,然后进行操作,然后分配。 Postfix将首先执行该操作,然后分配并递增。
但是我的代码有点麻烦:
int x, y; x = 1; y = x + x++; // (After operation y = 2)(x=2)
但是,当我这样做时:
y = x++ + x; // (After operation y = 3)(x=2)
我不确定为什么这些操作会有所不同。我有两个问题:
你能解释一下区别吗?
这如何适用于其他运算符前缀?
+
对于C#,您的示例工作如下:
y = x + x++; ^ x is 1 ^ x is increased to 2, but the postfix increment returns the old value (1) y = 2 y = x++ + x; ^ x becomes 2, but postfix increment returns the old value (1) ^ x is now 2 here y = 3