程序1:
int main( )
{
int c1,i=3;
c1=(i--)-(--i*(i= -3)*i++);
printf(" c1=%d i=%d\n",c1,i); //C1输出结果24
}
程序2:
int main( )
{
int b,c2,i=3;
b=--i*(i= -3)*i++;
c2=(i--)-(b);
printf("b=%d c2=%d i=%d\n",b,c2,i); // C2输出结果25
}
可能编译器不同输出的结果也会不同,只要你笔算出来的结果跟你编译出来的结果一样,你可以无视了,不妨看一看程序1和程序2为什么输出的结果不一样呢?什么?你看不出?看来是要回去复习复习C语言基础了,嘿嘿···
欢迎写出详细过程,各各值的转换过程与数值,期待分享 |