[語法] unsigned int 無效的問題

看板C_and_CPP (C/C++)作者 (XD)時間16年前 (2009/08/08 13:36), 編輯推噓4(404)
留言8則, 5人參與, 最新討論串1/1
unsigned int x = -10; -> -10; unsigned int x = 2150000000; -> -2144967296; 想請問,我加了 unsigned 後,結果卻不是正整數,是哪理出了問題呢? 試過 unsigned char x = -10; -> 246; 很正常 我是用 dev-CPP 寫程式,難到跟這有關係嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.133.18.7

08/08 13:38, , 1F
x = 2150000000u;
08/08 13:38, 1F

08/08 13:39, , 2F
找一本計概來唸一下
08/08 13:39, 2F

08/08 13:41, , 3F
印的地方出了問題 XD
08/08 13:41, 3F

08/08 16:48, , 4F
1F大的方法不行耶,正如3F大所說XD。 %d -> %u ~感謝~
08/08 16:48, 4F

08/08 17:00, , 5F
但是我在 linux 上,用 %d 卻可以正常印出耶
08/08 17:00, 5F

08/08 17:01, , 6F
而在 windows 上,char 用 %d 也是可以正常顯示 ...
08/08 17:01, 6F

08/08 23:49, , 7F
因為size小的整數傳進去會變int (vararg 的 type promotion)
08/08 23:49, 7F

08/08 23:49, , 8F
上面是六樓問題 五樓問題就不知道了...
08/08 23:49, 8F
文章代碼(AID): #1AVGxE5f (C_and_CPP)
文章代碼(AID): #1AVGxE5f (C_and_CPP)