遞增遞減

遞增

遞增運算子是可以將整數類型(含 _Boolenum )、實浮點類型及指標類型進行數值修改的操作。

遞增分為前綴形式與後綴形式,以下分別說明。

前綴遞增

前綴遞增,利用 ++{變數} 進行變數操作行為。

int main()
{
    int i = 10;
    int j = ++i;

    // 此處,i = 11; j = 10;
}

++i 的意義在於:在賦值給變數 j 的操作結束後,將變數 i 的值 +1

後綴遞增

後綴遞增,利用 {變數}++ 進行變數操作行為。

int main()
{
    int i = 10;
    int j = i++;

    // 此處,i = 11; j = 11;
}

i++ 的意義在於:在此行操作之前,先將變數 i 的值 +1 後,再將其賦值給變數 j

遞減

遞減與遞增類似,一樣分為前綴遞減與後綴遞減。

以下一併說明。

int main()
{
    int i = 10;
    int j = --i; 

    // 此處,i = 9; j = 10;
}
int main()
{
    int i = 10;
    int j = i--;

    // 此處,i = 9; j = 9;
}

未定義行為(Undefined Behavior)

在一個敘述內(每個 ; 代表一個敘述結尾),僅應該對同一個變數做一次操作。

若在一個敘述內,對同一個變數進行兩次(含)以上的操作,即為未定義行為。

// 未定義行為
// 錯誤示範
int main()
{
    int i = 10;
    int j = i++ + ++i; // 未定義行為
    int k = ++i + 1; // 未定義行為
}

results matching ""

    No results matching ""