#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的处理是同时进行的,而在函数中是处理一个释放一个。不同的编译器对以上操作会有不同的结果。
|