在C語言中,前綴自增(++i)和后綴自增(i++)運算子并不是同一個運算子,前綴自增運算子的優先級高于后綴自增,同時得到的結果并不完全一致,因此需要區分,

咱們先看第一個:
i被賦值0,i++(后++)并沒有輸出1,
現在i被賦值0,++i,也就是前++后輸出了1,
i被賦值0,前++ 的話,就是自身先加1 就自身賦值變成1 ,后面的i的值都是1了,
i被賦值0,先是后++,后++意思是 自己先被賦值,賦值完后等本陳述句結束后就自己加1了,第一個printf輸出的是i開始被賦的值0, 第一個printf之后就是一個(;)分號,分號意思是這個陳述句的結束,
這條陳述句結束,這時候i就偷偷的自己加上1了,第2個printf輸出的`就是上一個陳述句處理后i的值了,
i被賦值0,i++ ; 這是一條陳述句,因為有分號, 我們說 后加加 就是 先自己賦值,然后等待本陳述句結束時自己再加1, i++ ; 執行的結果就是 0+1=1了,printf只管輸出 i的值了,
i先被賦值0, i++后面帶個分號“;” 就是這條陳述句結束, i++;處理的結果是 0+1=1 后面的i 的值便是1了,
i被賦值為0,++i; 前++就是自己先加1,再賦值給自身, ++i; 處理 的結果是 0+1=1,
i先賦值為0,++i; (前++)就是 自己先0+1=1,然后把1再賦值給自己 i就變成了1 i++; (后++) 前面i已經被賦值為1了,這里i++; 也就是先把上一個i的值1 賦給自己變成1,但是遇到分號(;)意味著這條陳述句的結束, 陳述句結束i++; 就執行1+1=2 了,
i被賦值為0,前++, i就變成1 printf里面的i++ 輸出的只能是自己被賦的那個值1 如果下面再加個printf("%d",i);的話輸出的i就是為2了
總結: 前++就是 先自己加1,加完后賦值給自己, 后++就是 先自己賦值,賦完值還必須等陳述句結束才能加1,
口訣:前+ 后賦,這是我想的, 意思是:前面++ 第一步先加+1 后賦 就是后++的 就先賦值,此外前-- 與后-- 道理也是一樣的,
綜上:++在前是先加1在運算, 在后面是先運算在加1,
例子如下,

感謝閱讀,今天的分享就到這里了,

如果你想更好的提升你的編程能力,學好C語言C++編程!彎道超車,快人一步!
【C語言C++學習企鵝圈子】,分享(原始碼、專案實戰視頻、專案筆記,基礎入門教程)
歡迎轉行和學習編程的伙伴,利用更多的資料學習成長比自己琢磨更快哦!
編程學習書籍:

編程學習視頻:

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/244110.html
標籤:C
上一篇:如何用C語言加載.gif圖片
下一篇:看完這篇,你也是字符編碼大神!
