j=5,q=(j++)+(j++)+(j++),为什么q的结果是22呢?
首先希望老大们热情帮助我一下了!先行谢了!程序如下:
main(){
int i=5,j=5,p,q;
p=(i++)+(i++)+(i++);
q=(++j)+(++j)+(++j);
printf("%d,%d,%d,%d",p,q,i,j);
}
我用的是VC 6.0试运行,屏幕打出来的是:
15,22,8,8
即,q的结果是22。这个结果我书上的不一样,书上的是24。
从程序本身来看,结果应该要么是21,要么是24才对呀。
这是谭浩强C语言教程上的一个例题。
为什么用Visual C++运行上面程序的q的结果是22,是不是Tubro C运行的结果才是22(我没有用TC运行过)?
这其中的原因是什么?请各位老大们不吝赐教了。
[ 本帖最后由 chenji992 于 2010-1-13 18:03 编辑 ]