请教int a=1,b=2;int c=a+b+(++a);
int a=1,b=2;
int c=a+b+(++a);
问这个结果是什么,怎么解释。
(++的优先级高于+.)
后来又发现一个问题
int a=0,b=5;
(a<b)||(a=b)&&(b=15);
执行后a=_____;b=_______;
结果为a=0;b=5;
解释起来比较费劲,说是因为“||”的短路操作,但是&&的运算优先级比||高,为什么不先算后面的。于是解释,优先级就相当于打上了括号,
所以变成(a<b)||((a=b)&&(b=15)); 因为(a<b)为真,没进行后面计算。