你可能是在使用TC編譯器吧。在TC編譯器中,int類型占用16位。32767是16位有符號整數的最大值。當你給它加2時,就會發生溢出。溢出后,結果將從最大值跳轉到最小值。在16位有符號整數中,最小值是-32768。因此,32767加2后變成了-32767。這是因為計算機內部是以二進制形式存儲整數的。當32767加2時,二進制數會溢出,從1111111111111111變為0000000000000000,但由于這是一個有符號整數,其最高位表示符號,所以結果被解釋為-32768。所以,當你在TC編譯器中運行這個程序時,輸出結果為-32767,這正是由于溢出所導致的。理解溢出的概念對于編寫安全可靠的程序至關重要。它不僅影響數值計算,還可能在更復雜的數據結構和算法中引發錯誤。