[問題] gcc印出long long int

看板C_and_CPP (C/C++)作者 (Arim5566)時間13年前 (2012/07/25 20:53), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) gcc+ubuntu 程式碼(Code):(請善用置底文網頁, 記得排版) long long int p = 9223372036854775807; printf("%lld\n",p); 補充說明(Supplement): 不知道為什麼這段程式碼gcc會輸出 integer constant is too large for ‘long’ type 意思是他會先用long去暫存9223372036854775807(2^63-1) 然後再把他放到long long int p中嗎 那這樣為什麼一開始的long不會overflow呢? 因為我p還是可以正常印出該數字 不太清楚在這過程中gcc做了什麼事情 謝謝各位版友的指教 -- ~宅男的四個徵兆~ ∠□ ○ ! * \○/ ★    (○ ? ╦╦└□ " ○□═ □   □> ║║√√ ╦══╦ ∥    |\ 一回家就上PTT 每天想正妹 以當好人為樂 忘記正妹虧欠自己 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 36.239.23.219

07/25 21:13, , 1F
9223372036854775807LL
07/25 21:13, 1F
文章代碼(AID): #1G3-nMUD (C_and_CPP)
文章代碼(AID): #1G3-nMUD (C_and_CPP)