1. 程式人生 > >自增與自減運算符

自增與自減運算符

pre align 自學 自減 ++i margin size 錯誤 輸出

C語言自學之自增與自減運算符

 1 #include <stdio.h>
 2 
 3 int main()
 4 {
 5     int a=99;
 6     printf("%d\n",a++);//先取值在運算,遂輸出為a的賦予值99,在輸出後表達式開始運算這時a為100;
 7     printf("%d\n",++a);//先運算在取值,遂輸出為上一行執行後a值(100)+1後取值,輸出結果101;
 8     printf("%d\n",--a);//先運算在取值,遂輸出為上一行之後a值(101)-1後取值,輸出結果為100;
 9     printf("%d\n
",a--);//先取值在運算,遂輸出為上一行a的值(100),在輸出後表達式開始運算,這時a的值為99; 10 printf("%d\n",a+1);//註意:這裏並不改變a的值,遂輸出結果為上一行a的值(99)+1,在輸出後a的值因不改變遂為99; 11 printf("%d\n",a);//上一行執行後a值為99,遂這裏a輸出值為99; 12 return 0; 13 }

註意:無論是a++還是++a都等同於a=a+1,在表達式執行完畢後a的值都自增了1,

無論是a--還是--a都等同於a=a-1,在表達式執行完畢後a的值都自減少1
C程序為邏輯逐行運算,遂值在逐行運算後 不斷在變化,只是區別與輸出與否

自增自減運算

後綴自增 x = i++; x = i;i=i+1; 先取值,再自增(自減)

後綴自減 x=i--; x =i;i=i-1;
前綴自增 x = ++i; i=i+1;x=i; 先自增(自減)再取值
前綴自減 x = --i; i=i-1;x = i;
註意:
1. 只能對變量做++和--運算,不能對變量和表達式做++和--運算
5++; //ERROR
(3+x)++; //ERRO
2. 建議盡量使用前綴自增(自減),以避免錯誤。

自增與自減運算符