int a;
int m=3,n=4;
a=m++-(--n);
a為什么=0?
uj5u.com熱心網友回復:
a=m++-(--n)根據優先級順序 --n m++ 最后做減法運算
--n = 3;
a=m++-3;
m++ = 3;
a= 3-3;
a=0
uj5u.com熱心網友回復:
這與優先級順序無關啦~++ 與 -- 算符可以放在變數的前後...比如 i++ 或 ++i 是相同的!
不過若與其他算符合併成運算式...則意義是不相同的! ++ 或 -- 在變數前...表示 ++ 或 -- 是在其他算符之前執行的...而 ++ 或 -- 若在變數之後...則表示 ++ 或 -- 是在其他算符之後執行的!
a = m++ - (--n) 是一個運算式...此 m++ 在運算式裡還未被加一...但 --n 在運算式裡會先被減一...所以 a = 3 - (4 - 1) 結果為零...這個運算式執行後...其 m = 4 , n = 3
uj5u.com熱心網友回復:
按照運算子的優先級 m++是執行完之后在自增 --n是先執行自減 在參與運算 結果就是0;uj5u.com熱心網友回復:
2樓解釋的很詳細了,我想說的是,其實我們在使用時,一般在一個運算里用到一個++和--,太多了反而邏輯不清晰,而且不同的編輯器對++或--的運算規則會有差異,一般我會用+1或-1來替代轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/146033.html
標籤:基礎類
