Tag: 预增量

为什么`j = ++ i + ++ i;`的输出在C#和C中有所不同?

int i=1,j; j= ++i + ++i; printf(“%d”,j); 这个程序的输出是C. in C.但是当我对C#使用相同的逻辑时,输出为5 。 我想知道同一逻辑在两种不同语言中表现不同的原因

为什么我不能用C-like语言做++ i ++?

半开玩笑地半开玩笑:为什么我不能用C-like语言做++i++ ,特别是在C#中? 我希望它增加值,在我的表达式中使用它,然后再次递增。

C#中的前后增量

关于C#编译器如何处理前后增量和减量,我有点困惑。 当我编写以下代码时: int x = 4; x = x++ + ++x; x将具有值10。 我认为这是因为预增量将x设置为5 ,这使得5+5计算结果为10 。 然后后增量将x更新为6 ,但不会使用该值,因为10将分配给x 。 但是当我编码: int x = 4; x = x– – –x; 之后x将是2 。 任何人都可以解释为什么会这样吗?