在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编译器下:#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。++和--以及符号运算优先级我都知道,但是我不明白这以上的区别到底在哪以至运行出不同的结果。
哪个高手能详细解释下?
我用的是TC31