1
可能重複時例外:
Correct way to use scanf/printf (and family) with fixed size types?Ç - 使用_int16
我已經寫在Visual Studio中的下列程序:
在運行程序和退出,我得到錯誤消息「堆棧變量b已損壞」。如果我用int替換_int 16,則不會引發異常。我該如何解決這個問題?我必須使用_int16,因爲我想模擬整數溢出。謝謝:)
可能重複時例外:
Correct way to use scanf/printf (and family) with fixed size types?Ç - 使用_int16
我已經寫在Visual Studio中的下列程序:
在運行程序和退出,我得到錯誤消息「堆棧變量b已損壞」。如果我用int替換_int 16,則不會引發異常。我該如何解決這個問題?我必須使用_int16,因爲我想模擬整數溢出。謝謝:)
正如評論指出的那樣,解決辦法是更換
scanf("%d", &a);
與
scanf("%hd", &a);
這隻有在'_int16'與'short'大小相同時纔有效,但它們的大小不必相同。 –
你scanf'的'使用假設一個完整的字整數一個16位整數。按照[手冊](http://www.cplusplus.com/reference/clibrary/cstdio/scanf/) –
的格式,嘗試使用'「%hd」'作爲模式。謝謝:)我應該使用什麼呢?我對C有點新。 – Matthew
閱讀scanf手冊頁,並查找「short int」。 – Barmar