|
在程式中對變數遞增1或遞減1是很常見的運算,例如: int i = 0;
i = i + 1; printf("%d\n", i); i = i - 1; printf("%d\n", i); 這段程式會分別顯示出1與0兩個數,您也可以這麼寫這個程式: int i = 0;
printf("%d\n", ++i); printf("%d\n", --i); 其中寫在變數 i 之前的++與--就是C的「遞增運算子」(Increment operator)與「遞減運算子」(Decrement operator),當它們撰寫在變數之前時,其作用就相當於將變數遞增1與遞減1: ++i;
// i
= i + 1;
--i; // i = i - 1; 您可以將遞增或遞減運算子撰寫在變數之前或變數之後,但其實兩者是有差別的,將遞增(遞減)運算子撰寫在變數前時,表示先將變數的值加(減)1,然後再傳 回變數的值,將遞增(遞減)運算子撰寫在變數之後,表示先傳回變數值,然後再對變數加(減)1,例如: int i = 0;
int num = 0; num = ++i; // 相當於i = i + 1; num = i; printf("%d\n" ,num); num = --i; // 相當於i = i - 1; num = i; printf("%d\n" ,num); 在這段程式中,num的值會前後分別顯示為1與0,再看看下面這段: int i = 0;
int num = 0; num = i++; // 相當於num = i; i = i + 1; printf("%d\n", num); num = i--; // 相當於 num = i; i = i - 1; printf("%d\n", num); 在這段程式中,num的值會顯示前後分別為0與1。 接下來看「指定運算子」(Assignment operator),到目前為止我們只看過一個指定運算子,也就是=這個運算子,事實上指定運算子還有以下的幾個:
|