#include "stdio.h" main() { int i,z;
i=2;
z=(++i)+(++i)+(++i);
printf("/n%d/n",i);
printf("%d/n",(++i)+(++i)+(++i));
printf("%d/n",z); } 结果为: 5 21 15 #include "stdio.h" main() { int i=2;
printf("/n%d/n",(++i)+(++i)+(++i));
printf("%d/n",i); } 结果为: 12 5 #include "stdio.h" main() { int i,z;
i=2;
z=(++i)+(++i)+(++i);
printf("/n%d/n",z); } 结果为: 15 #include "stdio.h" main() { int i,z;
i=2;
z=(--i)+(--i)+(--i);
printf("/n%d/n",i);
printf("%d/n",(--i)+(--i)+(--i));
printf("%d/n",z); } 结果为: -1 -9
-3 #include "stdio.h" main() { int i=2;
printf("/n%d/n",(--i)+(--i)+(--i));
printf("%d/n",i); } 结果为: 0 -1 #include "stdio.h" main() { int i,z;
i=2;
z=(--i)+(--i)+(--i);
printf("/n%d/n",z); } 结果为: -3 #include "stdio.h" main() { int i,j,k,f,z;
i=2;
j=++i;
k=++i;
f=++i; z=j+k+f;
printf("/n%d/n",z); } 结果为: 12 #include "stdio.h" main() { int i,z;
for(i=2;i<5;++i);
z=i+i+i;
printf("/n%d/n",z); } 结果为: 15 | #include "stdio.h" main() { int i,z;
i=2;
z=(i++)+(i++)+(i++);
printf("/n%d/n",i);
printf("%d/n",(i++)+(i++)+(i++));
printf("%d/n",z); } 结果为: 5 18 6 #include "stdio.h" main() { int i=2;
printf("/n%d/n",(i++)+(i++)+(i++));
printf("%d/n",i); } 结果为: 9 5 #include "stdio.h" main() { int i,z;
i=2;
z=(i++)+(i++)+(i++);
printf("/n%d/n",z); } 结果为: 6 #include "stdio.h" main() { int i,z;
i=2;
z=(i--)+(i--)+(i--);
printf("/n%d/n",i);
printf("%d/n",(i--)+(i--)+(i--));
printf("%d/n",z); } 结果为: -1 -6 6 #include "stdio.h" main() { int i=2;
printf("/n%d/n",(i--)+(i--)+(i--));
printf("%d/n",i); } 结果为: 3 -1 #include "stdio.h" main() { int i,z;
i=2;
z=(i--)+(i--)+(i--);
printf("/n%d/n",z); } 结果为: 6 #include "stdio.h" main() { int i,j,k,f,z;
i=2;
j=i++;
k=i++;
f=i++;
z=j+k+f;
printf("/n%d/n",z); } 结果为: 9 #include "stdio.h" main() { int i,z;
for(i=2,z=i+i+i;i<5;i++);
printf("/n%d/n",z); } 结果为: 6 结论:在TC环境下,在构成表达式的情况下,对i的处理是同时进行的,而在函数中是处理一个释放一个。不同的编译器对以上操作会有不同的结果。 |