在 c 語言中 ++i 和 i++ 的區別是什麼?


C 中,++-- 運算子稱為 增量和減量運算子。它們是一元運算子,僅需要一個運算元。因此 ++-- 運算子都可以在運算元之前或之後出現,並具有相同的效果。 

這意味著 i++++i 將是等效的。

i=5;
i++;
printf("%d",i);

並且 

i=5
++i;
printf("%d",i);

兩者都會使 i=6。

但是,當增量表達式與賦值運算子一起使用時,運算子優先順序將發揮作用。 

i=5;
j=i++;

在這種情況下,= 的優先順序高於字尾 ++。因此,在 i 增量之前,i 的值將分配給 i。在這裡 j 變成 5,i 變成 6。

i=5;
j=++i;

在這種情況下,字首 ++ 的優先順序高於 = 運算子。因此,i 將首先增量,並將增量值分配給 j。在這裡,i 和 j 都變成 6。

#include <stdio.h>
int main() {
   int i=5,j;
   j=i++;
   printf ("
after postfix increment i=%d j=%d"
, i,j);    i=5;    j=++i;    printf ("
after prefix increment i=%d j=%d"
,i,j);    return 0; }

輸出為

after postfix increment i=6 j=5
 after prefix increment i=6 j=6

更新於: 12-Sep-2023

35K+ 瀏覽量

開啟 職業生涯

完成課程以獲得認證

開始學習
廣告
© . All rights reserved.