~是取反的意思 輸出 i 取反後的結果.而後再執行 i = i + 1; int i = 31; printf("%d\n", ~i++); 輸出結果: -32 i = 31 二進制爲: 0001 1111, 取反後結果: 11111111111111111111111111100000 而%d輸出的時候按照有符號輸出的,因此結果是上面二進制形式的整數 = -32