✿問題引入✿
今天突然想起一種寫法n = 10; printf("%d %d\n", n, n--);
最後輸出的竟然是9 10
,感覺很驚訝,於是又多試了幾組,**如下:
#include
using namespace std;
int main()
輸出就更驚豔了,是6 7 8 6 6 9 10 6
,因此我就仔細查了優先順序,大致發現了其中的緣由。
✿原因分析✿
首先自減和自增(也就是n++
或--n
)的優先順序比逗號高,逗號是符號中優先順序最低的。又因為自減和自增從右到左結合,所以輸出的正確順序就是先把自減全部執行完,而且還是從右到左結合,所以10就變成9 8 7 6,最後再輸出內容,就變成了6 7 8 6 6 9 10 6
reference:運算子優先順序
運算子優先順序,自增 ,自減 ,題
初始化 int 型別變數 a b c 都為 2 那麼經過以下運算之 a a a b b b c c c 三個的值分別為多少?答案 4 5 6 解析 關於自增 的解釋 a 和 a a 是先自增,然後進行其他運算,而 a 是 a 先進行其他運算,然後自增。注意 a 和 a 運算物件都是左運算元,使可變左...
自增「 」和自減「 」
int x 10 int j j x 看這邊 system.out.println x int x 10 int j x x 看這邊 system.out.println x 第乙個會輸出11,第二個會輸出10。這是今天偶然看到的,而這個解釋聽起來比較容易理解 x 是乙個表示式,它的值是x,在這個表...
指標的自增和自減
總結 p p 的概念,就是p當前位址的基礎上,增加 減小p對應型別位元組大小。實際運用1 include include int main void int len sizeof ages sizeof ages 0 陣列的大小 整形的大小7x4 4 7 1.使用陣列的方式來訪問陣列 for int...