[問題] enum給-1會變成255?
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
MinGW
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
問題(Question):
請問一下,我寫了一個enum, 裡面有3個變數都沒有給初始值,所以第一個變數應該是0才
對。
然後我宣告了一個enum變數,給值-1,但是我用printf引出來發現此變數的值變成255
請問這跟compiler有關嗎? 有辦法避免嗎? 感謝
餵入的資料(Input):
Enum test = -1
預期的正確結果(Expected Output):
test = -1
錯誤結果(Wrong Output):
test == 255
程式碼(Code):(請善用置底文網頁, 記得排版)
enum = -1;
if ( enum != -1)
........
補充說明(Supplement):
因為把enum設成-1,所以以為不會進下面的判斷式,但結果卻進去了,把值印出來看發現
變成255
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 39.10.33.120
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1466931782.A.3BB.html
※ 編輯: henry4343 (39.10.33.120), 06/26/2016 17:04:01
推
06/26 17:53, , 1F
06/26 17:53, 1F
→
06/26 19:03, , 2F
06/26 19:03, 2F
推
06/26 19:29, , 3F
06/26 19:29, 3F
→
06/26 19:31, , 4F
06/26 19:31, 4F
→
06/26 19:31, , 5F
06/26 19:31, 5F
→
06/26 19:32, , 6F
06/26 19:32, 6F
→
06/26 19:33, , 7F
06/26 19:33, 7F
推
06/26 22:01, , 8F
06/26 22:01, 8F
→
06/26 22:01, , 9F
06/26 22:01, 9F
→
06/26 22:02, , 10F
06/26 22:02, 10F
→
06/26 22:04, , 11F
06/26 22:04, 11F
推
06/27 00:15, , 12F
06/27 00:15, 12F
推
06/27 01:53, , 13F
06/27 01:53, 13F
推
06/27 04:53, , 14F
06/27 04:53, 14F
→
06/27 09:22, , 15F
06/27 09:22, 15F
→
06/27 09:23, , 16F
06/27 09:23, 16F
→
06/27 09:49, , 17F
06/27 09:49, 17F
推
06/27 10:25, , 18F
06/27 10:25, 18F
→
06/27 10:26, , 19F
06/27 10:26, 19F
推
06/27 22:45, , 20F
06/27 22:45, 20F