C语言经典问题,求解答
main(){
int i,j;
i=3;
j=(i++)*(++i)+(i--)*(--i);
printf("%d",j);
}
请问最后J的结果是多少啊,我看教程结果是18的,但我自己调试是25的!晕
2007-07-22 10:54
2007-07-22 11:22
是18哦 先i自加自减,i不变,再运算表达式3*3+3*3,然后i再自加自减又不变~
不好意思,一开始随便看的一眼~
2007-07-22 11:26
我觉得应该是25.
先i自加为4,再乘i,为16.后i自减为3,再乘i,为9.(16+9=25).
我试了一下,用TC2.0调试的结果是18,用VC++6.0调试的结果是25
2007-07-22 12:51
2007-07-22 13:06
2007-07-22 14:01
2007-07-22 19:32

同意6楼的,我也这样认为:++/--i是用i前,i就先加+1或-1,i++/--是用了i之后,i才+/-1.我就记着后者是有条件的要先用一次.
2007-07-22 19:53
2007-07-25 09:43
2007-07-25 10:45