自增與自減運算符
阿新 • • 發佈:2018-05-01
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. 建議盡量使用前綴自增(自減),以避免錯誤。
自增與自減運算符