代码: 全选
#include<stdio.h>
int main()
{
int a=1,b=2,c,d,e;
c=(-a++)+(++b);
d=(b--)+(++a)+a;
e=(a/(++b))-(b/(--a));
printf("c=%d,d=%d,e=%d\n",c,d,e);
}
win的结果是: c=2,d=9,e=-1
linux的结果是: c=2,d=9, e=0
这究竟是什么原因呀???望大虾指点!!
代码: 全选
#include<stdio.h>
int main()
{
int a=1,b=2,c,d,e;
c=(-a++)+(++b);
d=(b--)+(++a)+a;
e=(a/(++b))-(b/(--a));
printf("c=%d,d=%d,e=%d\n",c,d,e);
}
代码: 全选
a=0;
a = a + (++a) + (++a);
代码: 全选
a=0;
++a;
++a;
a = a + a + a;
代码: 全选
a=0;
++a;
t = a + a;
++a;
a = t + a;