c語言:printf("%d\n",~i++);是什麼意思,特別是~ ?

~是取反的意思
輸出 i 取反後的結果.而後再執行 i = i + 1;
int i = 31;
printf("%d\n", ~i++);
輸出結果:
-32

i = 31  二進制爲:  0001 1111, 取反後結果: 11111111111111111111111111100000
而%d輸出的時候按照有符號輸出的,因此結果是上面二進制形式的整數 = -32
相關文章
相關標籤/搜索