#include <stdio.h>
int main(void)
{
   int i = 0;
   i = i++ + ++i;
   printf("%d\n", i); // 3
   i = 1;
   i = (i++);
   printf("%d\n", i); // 2 Should be 1, no ?
   volatile int u = 0;
   u = u++ + ++u;
   printf("%d\n", u); // 1
   u = 1;
   u = (u++);
   printf("%d\n", u); // 2 Should also be one, no ?
   register int v = 0;
   v = v++ + ++v;
   printf("%d\n", v); // 3 (Should be the …c increment operator-precedence undefined-behavior sequence-points
我有这个Code,我在Java和C上运行它,但它们给了我两个不同的结果.是什么让他们以不同的方式运行.
x=10;y=10;z=10;
y-=x--;
z-=--x;
x-=--x-x--;
Java中X的输出值为:8,对于C,输出为6.
这两个编译器对增量选项的行为有何不同?