再讨论下自增和自减运算
在TC编译器下,
i++*++i+i--*--i=?与J=i++*++i+i--*--i;的区别到底在哪?
我的理解:J=i++*++i+i--*--i=[(i++)*(++i)]+[(i--)*(--i)] 两个中括号里面同时取i的值进行计算,不知是否正确?
但我又不理解i++*++i+i--*--i=?该如何计算了
请各位高手多指点下,谢谢
[此贴子已经被作者于2007-1-6 1:34:43编辑过]
在TC编译器下,
i++*++i+i--*--i=?与J=i++*++i+i--*--i;的区别到底在哪?
我的理解:J=i++*++i+i--*--i=[(i++)*(++i)]+[(i--)*(--i)] 两个中括号里面同时取i的值进行计算,不知是否正确?
但我又不理解i++*++i+i--*--i=?该如何计算了
请各位高手多指点下,谢谢
[此贴子已经被作者于2007-1-6 1:34:43编辑过]
2007-01-06 01:33
2007-01-06 10:46
在TC编译器下:
#include<stdio.h>
void main()
{
int i;
i=3;
printf("%d\n",i++*++i+i--*--i);
}
输出结果为30。
#include<stdio.h>
void main()
{
int i,J;
i=3;
J=i++*++i+i--*--i;
printf("%d\n",J);
}
输出结果为18。
++和--以及符号运算优先级我都知道,但是我不明白这以上的区别到底在哪以至运行出不同的结果。
哪个高手能详细解释下?

2007-01-06 13:04
2007-01-06 14:12