VS 測試printf 多參數 輸出 i++ 和++i 結果

 代碼如截圖:

   

總結:

printf 多參數中有運算時 是從右到左執行的;spa

i++ 和 ++i 優先級是大於 賦值 =運算的; i++ 和++i 是平級的;blog

i++ 先用在算,++i 先算在用;im

從右往左的過程:運算的先算,碰到只是賦值的 跳過執行下一個運算。總結

 

解說:

說明第一個printf:從右往左img

第四個參數 i++ 先用(輸出i爲2),後加 i變成3=>截圖

碰到第三參數 賦值 i 無論,跳到第二個運算參數 ++i,先算後用,i變成4,這個時候尚未用(即沒有輸出)=>co

跳到第一個運算參數i++,先用(輸出i爲4),後加 i變成5  =>ps

而後到 第 2 3 個參數直接用i,這個時候 i都是5,都輸出5 ,SO:輸出的爲 4,5,5,2。參數

 

說明第三個 printf :printf

第四個賦值 i 不執行,跳到第三個運算參數 i++,輸出2 ,i變成了3=>

跳到了第二個運算參數i++,輸出3,i變成了4 =>

跳到了第一個運算參數++i, 先運算i變成5 ,輸出5 ,=> 剩餘 第四個參數輸出 i的值,輸出5;

so: 5 3 2 5

相關文章
相關標籤/搜索