以下是引用Undeadsprout在2007-9-7 18:15:54的发言:
我现在认为应该先是:x+=x,得到x=10
x++得到11
++x得到12
y=2+12
+=,自加++的优先级是一样的,应该从左向右算的,对不对?
我现在认为应该先是:x+=x,得到x=10
x++得到11
++x得到12
y=2+12
+=,自加++的优先级是一样的,应该从左向右算的,对不对?
+=与++优先级一样高,且这两个运算符的结合性均是从右向左,   
  即先计算++。。。
+=与++优先级一样高,且这两个运算符的结合性均是从右向左,   
  即先计算++。。。
 2007-09-09 10:54
	    2007-09-09 10:54
  无了的程序~~~~
 2007-09-09 16:13
	    2007-09-09 16:13
   2007-09-09 17:02
	    2007-09-09 17:02
  
 2007-09-09 20:30
	    2007-09-09 20:30
  #include <iostream.h>
void main()
{
    int x=5;
    int y=2+(x+=x++,x+8,++x);   // ①x+=x 得到10;②++ 得到11;③++x 得到12
    cout<<y<<endl;
}

 2007-09-09 21:39
	    2007-09-09 21:39
  老问题了,而且经久不衰。

 2007-09-09 22:20
	    2007-09-09 22:20
  ++ 的优先级比 += 高。
由于++是变量先使用后再加 1 ,所以 x+=x++,应该是先算x+=x,即得:x=10,再算x=x+1,得 x=11,++x=12[此贴子已经被作者于2007-9-10 14:48:33编辑过]
 2007-09-10 14:40
	    2007-09-10 14:40
   2007-09-10 16:39
	    2007-09-10 16:39
   2007-09-10 18:47
	    2007-09-10 18:47
  我觉得这个好象是对的,理解的蛮深刻的

 2007-09-11 09:28
	    2007-09-11 09:28