Re: [問題] 關於八進制的一個奇怪的問題.
看板C_and_CPP (C/C++)作者azureblaze (AzureBlaze)時間13年前 (2013/01/10 19:05)推噓1(1推 0噓 4→)留言5則, 2人參與討論串2/2 (看更多)
如果你真的想知道'\1111'為何等於044461
044461 = 0x49 31
= 73 * 256 + 49
= '\111' * 256 + '1'
因為C(非c++)的character literal 是int,可以大於256
所以有些compiler會把'ab'當成你要把兩個byte塞進一個int
至於塞的順序?他高興
'\1111'要當成 0111 + '1'、011 + '1' + '1' 還是 01 + '1' + '1' + '1'?
他高興
你的大陸解答就把'\1111'當成01111
不要說主流compiler了
要是有人記得某個complier所有實做細節,請讓我認識認識
而且寫這種code可以得到什麼好處?
面試如果真的出這種問題我想貴公司會被應試者瞧不起
至少應試者是我我就會
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 1.171.49.49
※ 編輯: azureblaze 來自: 1.171.49.49 (01/10 19:07)
推
01/10 19:27, , 1F
01/10 19:27, 1F
我也是剛剛才知道char literal可以放多個字元,可是我不覺得有什麼損失
我很難想像這個知識除了上PTT裝大大之外的任何用途XD
※ 編輯: azureblaze 來自: 118.168.65.188 (01/10 20:14)
→
01/10 21:44, , 2F
01/10 21:44, 2F
→
01/10 21:45, , 3F
01/10 21:45, 3F
→
01/10 22:04, , 4F
01/10 22:04, 4F
→
01/11 09:00, , 5F
01/11 09:00, 5F
討論串 (同標題文章)
完整討論串 (本文為第 2 之 2 篇):
0
13
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章