堆栈溢出有一个非常好的问题。
但是当我在 C 中尝试相同的代码时,它给出了不同的结果:
int i = 0;
i += i++; // 1 in C and 0 in C#
printf("%d", i);
但以下内容:
i = i++ + i; // 1 in C and 1 in C#
i += i++ + i; // 1 in C
在 C# 中,它评估++
and=+
运算符,首先通过tempVar
为每个 fo 分配它们并对tempVars
. C如何实现它?还是建筑不同?