自減自增和逗號的優先順序

2021-08-06 02:33:23 字數 489 閱讀 2795

✿問題引入✿

今天突然想起一種寫法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...